做项目中遇到了一个需求,需要清空日历控件,查了api文档,并没有发现好的解决方法。
经查阅一些文档,总结两种方法
1、若使用form表单,可采用清空表单的方式清空日历组件,this.props.form.resetFields();
2、若是单独写的日历组件,则可以通过设置一个key,然后在点击重置时修改key的值(看了网上一些博客都是这样写的),原理是给rangePicker控件添加key属性,点击重置时,修改key的值,如new Date(),相当于重新渲染控件,达到让控件重置的功能
this.state = {
keyValue: '',
};
resetDate = () => {
this.setState({ keyValue: new Date() });
};
<Space>
<RangePicker key={this.state.keyValue} onChange={this.onChange} />
<Button disabled={!btime || !etime} type="primary" onClick={this.onWorkSearchClick}>
查询
</Button>
<Button type="default" onClick={this.resetDate}>
重置
</Button>
</Space>