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实现检测指定目录是否存在的方法
Jan 12 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
Dec 10 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
Nov 03 Javascript
JavaScript异步回调的Promise模式封装实例
Jun 07 Javascript
javascript工厂方式定义对象
Dec 26 Javascript
jqGrid中文文档之选项设置
Dec 02 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
Dec 10 Javascript
TypeScript Type Innference(类型判断)
Mar 10 Javascript
百度多文件异步上传控件webuploader基本用法解析
Nov 07 Javascript
通过命令行生成vue项目框架的方法
Jul 12 Javascript
浅谈Vue Element中Select下拉框选取值的问题
Mar 01 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
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
php 操作调试的方法
2012/07/12 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
javaScript复制功能调用实现方案
2012/12/13 Javascript
js判断两个日期是否相等的方法
2013/09/10 Javascript
Prototype框架详解
2015/11/25 Javascript
jQuery实现输入框邮箱内容自动补全与上下翻动显示效果【附demo源码下载】
2016/09/20 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
在Python中使用判断语句和循环的教程
2015/04/25 Python
python简单文本处理的方法
2015/07/10 Python
python中函数传参详解
2016/07/03 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
Django中的CBV和FBV示例介绍
2018/02/25 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
python sort、sort_index方法代码实例
2019/03/28 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
深入浅析Python 中的sklearn模型选择
2019/10/12 Python
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
技术副厂长岗位职责
2013/12/26 职场文书
毕业生个人求职信范文分享
2014/01/05 职场文书
超市中秋节活动方案
2014/02/12 职场文书
医药营销个人求职信
2014/04/12 职场文书
商业项目策划方案
2014/06/05 职场文书
整改报告怎么写
2014/11/06 职场文书
慰问信格式规范
2015/03/23 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
投诉信格式范文
2015/07/02 职场文书
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python