antd-日历组件,前后禁止选择,只能选中间一部分的实例


Posted in Javascript onOctober 29, 2020

antd-日历组件,前后禁止选择,只能选中间一部分:

dateDisabledDate(current) { // 需求有效期的禁止选择时间
  if (this.state.sailingtimeValue != null && this.state.sailingtimeValue.length != 0) {
   return current && (current < moment().subtract(1, 'd').add(1, "M") || current > moment(this.state.sailingtimeValue[0]).subtract(1, 'd'));
  } else {
   return current && current < moment().subtract(1, 'd').add(1, "M")
  }
 }

补充知识:关于 Ant Design 中 Input 组件的 defaultValue 属性的一个小问题

记录关于一次 Ant Design 使用时遇到的一个问题,defaultValue属性赋值,页面交互操作处理数据之后页面数据未更新(未按照预期显示)。

class Component extends React.Component{
  constructor(props) {
   super(props);
   this.state = {
    list: [
     {name: 111},
     {name: 222},
     {name: 333},
    ]
   };
  }

  deal(index) {
   let {list} = this.state;
   list.splice(index, 1);
   this.setState({
    list
   });
  }

  render() {
   let {list} = this.state;

   return (
    <span>
    <Button type="danger" onClick={this.deal.bind(this, index)}>删除</Button>
    {
     list.map((item, index) => {
      <Row>
       <Col span={24}>
        <Item {...formItemLayout} label=" " colon={false}>
         <Input defaultValue={item.name}
           onChange={event => {this.nameChange(event, index)}} />
        </Item>
       </Col>
      </Row>
     })
    }
    </span>
   );
  }
 }

页面初始效果:

antd-日历组件,前后禁止选择,只能选中间一部分的实例

经过 deal 方法处理之后的效果:

antd-日历组件,前后禁止选择,只能选中间一部分的实例

经过多次尝试,比如:

怀疑 splice 出了问题,因为工程中 splice 有很多库的处理,经过各种尝试打印 splice 处理之后的数据结果,排除 splice 因素

antd-日历组件,前后禁止选择,只能选中间一部分的实例

尝试 react-addons-update ,排除,

在 render 函数中打印结果,发现数据更新过了,费解…

在 render 中,通过 {item.name} 检测数据变化,确定 span 显示的数据已经发生变化,最终确定结果:数据已经更新,Input 显示存在问题!!!

……

经过一段时间的思考,确认数据已经更新,只是在显示的时候出了问题,返回去查 antD 的 Input 文档,发现了:

antd-日历组件,前后禁止选择,只能选中间一部分的实例

defaultValue 与 value 两个相似的属性,于是尝试着 value 替代 defaultValue 最终解决问题。

以上这篇antd-日历组件,前后禁止选择,只能选中间一部分的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript入门学习书籍推荐
Jun 12 Javascript
js自动下载文件到本地的实现代码
Apr 28 Javascript
js键盘事件的keyCode
Jul 29 Javascript
Windows8下搭建Node.js开发环境教程
Sep 03 Javascript
JS实现向表格行添加新单元格的方法
Mar 30 Javascript
jquery.cookie.js用法实例详解
Dec 25 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
Apr 19 Javascript
10 种最常见的 Javascript 错误(频率最高)
Feb 08 Javascript
Angular 组件之间的交互的示例代码
Mar 24 Javascript
小程序tab页无法传递参数的方法
Aug 03 Javascript
jQuery动态生成的元素绑定事件操作实例分析
May 04 jQuery
vue element-ui实现input输入框金额数字添加千分位
Dec 29 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
Oct 29 #Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
Oct 29 #Javascript
解决ant Design中Select设置initialValue时的大坑
Oct 29 #Javascript
解决Ant Design Modal内嵌Form表单initialValue值不动态更新问题
Oct 29 #Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
Oct 29 #Javascript
解决ant Design Search无法输入内容的问题
Oct 29 #Javascript
js实现随机圆与矩形功能
Oct 29 #Javascript
You might like
微信营销平台系统?刮刮乐的开发
2014/06/10 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
js插件YprogressBar实现漂亮的进度条效果
2015/04/20 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
JS常用知识点整理
2017/01/21 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
vue组件实现可搜索下拉框扩展
2020/10/23 Javascript
angularjs 动态从后台获取下拉框的值方法
2018/08/13 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
VeeValidate 的使用场景以及配置详解
2019/01/11 Javascript
Django模板继承 extend标签实例代码详解
2019/05/16 Javascript
axios解决高并发的方法:axios.all()与axios.spread()的操作
2020/11/09 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python统计文件中去重后uuid个数的方法
2015/07/30 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
谈谈python垃圾回收机制
2020/09/27 Python
Django视图类型总结
2021/02/17 Python
马来西亚在线时尚女装商店:KEI MAG
2017/09/28 全球购物
怎样声明子类
2013/07/02 面试题
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
企业文化标语大全
2014/06/10 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
2014年国庆节演讲稿
2014/09/19 职场文书
2014小学生国庆65周年演讲稿
2014/09/21 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
怎样写好演讲稿题目?
2019/08/21 职场文书
Oracle 触发器trigger使用案例
2022/02/24 Oracle