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 相关文章推荐
?牟┛途W扣了一??效果出?? target=
May 27 Javascript
js+css在交互上的应用
Jul 18 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
Sep 03 Javascript
js实现简单的星级选择器提交效果适用于评论等
Oct 18 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
May 09 Javascript
快速掌握jQuery插件WebUploader文件上传
Nov 07 Javascript
JavaScript仿百度图片浏览效果
Nov 23 Javascript
webpack开发跨域问题解决办法
Aug 03 Javascript
在ES5与ES6环境下处理函数默认参数的实现方法
May 13 Javascript
jQuery.parseJSON()函数详解
Feb 28 jQuery
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
May 10 Javascript
详解js location.href和window.open的几种用法和区别
Dec 02 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
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
基于php的微信公众平台开发入门实例
2015/04/15 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
js css样式操作代码(批量操作)
2009/10/09 Javascript
jquery 屏蔽一个区域内的所有元素,禁止输入
2009/10/22 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
2014/12/18 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
vue 移动端记录页面浏览位置的方法
2020/03/11 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
实例讲解Python中浮点型的基本内容
2019/02/11 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
python多项式拟合之np.polyfit 和 np.polyld详解
2020/02/18 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
最新个人职业生涯规划书
2014/01/22 职场文书
文明青少年标兵事迹材料
2014/01/28 职场文书
五水共治捐款倡议书
2014/05/14 职场文书
服务宗旨标语
2014/07/01 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
创业计划书之废品回收
2019/09/26 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
Python实现简繁体转换
2021/06/07 Python
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫