antd Form表单中的select组件在多选的模式下增加全选

antd Form表单中的select组件在多选的模式下增加全选,第1张

后台项目中的新增需求,要在已经是多选模式的select组件中加入全选选项。

把Form表单中的select组件改为受控组件,单独提出来封装一下。

父组件中:

父组件给子组件传回调函数,接收子组件的值,然后存储到state中,Form表单提交时,从state中获取Selet组件的值。

子组件中:

<a-table

  ref="table"

  size="default"

  bordered

  rowKey="id"

  :columns="columns"

  :dataSource="dataSource"

  :pagination="ipagination"

  :loading="loading"

  :scroll="{x: 3200}"

  :showHeder="true"

  @change="handleTableChange"></a-table>

onSelectChange(selectedRowKeys, selectionRows) {

this.selectedRowKeys = selectedRowKeys

this.selectionRows = selectionRows

},

想要从后台请求数据后,动态填入Select组件中的defaultValue。结果数据值可以打印,但是select组件中无显示。

其实defaultvalue已经取到值了,但是因为下拉内容没渲染完成,所以没法实现展示默认值。

百度。。。

还真百度到了!

引用:如果想实现非受控组件(用defaultValue),两个办法,第一个服务端没有返回数据的时候,不render Select,render一个占位的placeholder。另一个办法,给Select加一个key,值为defaultValue。

小朋友你是否有很多个问号?为什么加key值可以呢。这就要从react开天辟地那时候开始说起了。。。

two thousand years later~

说完了,总结一下,就是diff算法相关的概念,key的赋值使得select组件重绘,此时就可以取到默认值对应的option了。

首先,动态获取日期(注意日期格式为date)

其次,在需要禁用日期的选择中引入禁用方法


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11883180.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存