Antd 里面的select 选择框联动触发的问题

约定不等于承诺〃 2023-07-07 05:47 18阅读 0赞

有两个 select框,且这俩select框是关联的,触发select1,select2里面才会有值。

但是现在的问题是这样的:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L01pc3NfbGlhbmdybQ_size_16_color_FFFFFF_t_70

触发select1,触发select2,再触发select1,此时select2里面的值变成了上次一选中的value 值,而不会被清空。

解决办法:

使用Select 里面的value属性,来进行清空

  1. <Form style={
  2. {padding:'20px','boxSizing':'border-box'}}>
  3. <FormItem label="套卷名称" {...formItemLayout}>
  4. <Select defaultValue={packagedPapersId} onChange={selectPackage}>
  5. {
  6. packagedPaperList.map((item,idx)=>(
  7. <Option value={item.packagedPapersId} key={idx}>{item.packagedPapersName}</Option>
  8. ))
  9. }
  10. </Select>
  11. </FormItem>
  12. <FormItem label="试卷名称" {...formItemLayout}>
  13. <Select defaultValue={paperId} value={paperId} onChange={(val,item)=>selectPaper(val,item)}>
  14. {
  15. paperList.map((item,idx)=>(
  16. <Option value={item.paperId} key={idx}>{item.paperName}</Option>
  17. ))
  18. }
  19. </Select>
  20. </FormItem>
  21. </Form>
  22. // select1里面的判断
  23. const selectPackage = (value) =>{
  24. if(paperId != '请选择名称'){
  25. setPaperId('请选择名称');
  26. }
  27. setPackagedPapersId(value)
  28. paperListFn(value)
  29. }

发表评论

表情:
评论列表 (有 0 条评论,18人围观)

还没有评论,来说两句吧...

相关阅读

    相关 layuiselect联动

    要实现联动效果注意两点: 第一要可以监听到select的change事件; 第二异步加载的内容,需要重新渲染后才可以 正常使用。 html结构: <form class