Antd踩坑(持续更新中...)

1.Antd中Select组件中的defaultValue问题

需求&问题

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

猜测

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

解决办法

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

原理

小朋友你是否有很多个问号?为什么加key值可以呢。这就要从react开天辟地那时候开始说起了。。。
two thousand years later~
说完了,总结一下,就是diff算法相关的概念,key的赋值使得select组件重绘,此时就可以取到默认值对应的option了。

2.Antd中日期选择框设置动态禁止日期

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

 <DatePicker
    onChange={(date, dateString) => {
         this.setState({
           startDate: date,
        });
      }}
/>

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

<DatePicker
    disabledDate={(current) =>
     this.disabledDate(current, this.state.startDate)
    }
/>
 // 禁用方法
  disabledDate = (current, startDate) => {
      return current && current < startDate;
     };
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。