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 相关文章推荐
JS的数组的扩展实例代码
Jul 09 Javascript
jQuery中使用了document和window哪些属性和方法小结
Sep 13 Javascript
JavaScript 实现简单的倒计时弹窗DEMO附图
Mar 05 Javascript
wap浏览自动跳转到wap页面的js代码
May 17 Javascript
Javascript毫秒数用法实例
Feb 05 Javascript
JS实现很酷的水波文字特效实例
Feb 26 Javascript
vue2.0开发实践总结之疑难篇
Dec 07 Javascript
js 输入框 正则表达式(菜鸟必看教程)
Feb 19 Javascript
JavaScript通过filereader接口读取文件
May 10 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
Apr 19 Javascript
TypeScript开发Node.js程序的方法
Apr 30 Javascript
vue-cli在 history模式下的配置详解
Nov 26 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 HTTP 认证实例详解
2016/11/03 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
php取出数组单个值的方法
2018/03/12 PHP
js AspxButton的客户端操作
2009/06/26 Javascript
js Html结构转字符串形式显示代码
2011/11/15 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
JQuery实现动态表格点击按钮表格增加一行
2014/08/24 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
2015/04/22 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
JS简单测试循环运行时间的方法
2016/09/04 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
Js面试算法详解
2018/04/08 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
python实现在pickling的时候压缩的方法
2014/09/25 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
Python中的十大图像处理工具(小结)
2019/06/10 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
python实现飞机大战项目
2020/03/11 Python
python字符串判断密码强弱
2020/03/18 Python
python利用platform模块获取系统信息
2020/10/09 Python
html+css实现自定义图片上传按钮功能
2019/09/04 HTML / CSS
Internet体系结构
2014/12/21 面试题
linux面试题参考答案(4)
2013/01/28 面试题
一些Unix笔试题和面试题
2012/09/25 面试题
文体活动总结范文
2014/05/05 职场文书
建议书的格式
2014/05/12 职场文书
奉献爱心演讲稿
2014/09/04 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
anaconda python3.8安装后降级
2021/06/11 Python