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 jQuery插件练习
Dec 24 Javascript
JavaScript 页面编码与浏览器类型判断代码
Jun 03 Javascript
DOM_window对象属性之--clipboardData对象操作代码
Feb 03 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
Mar 12 Javascript
调试代码导致IE出错的避免方法
Apr 04 Javascript
基于JS代码实现图片在页面中旋转效果
Jun 16 Javascript
jQuery表格的维护和删除操作
Feb 03 Javascript
React Native 环境搭建的教程
Aug 19 Javascript
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
JavaScript惰性载入函数实例分析
Mar 27 Javascript
Vue中的组件及路由使用实例代码详解
May 22 Javascript
如何基于javascript实现贪吃蛇游戏
Feb 09 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
PHP学习笔记之二
2011/01/17 PHP
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
2012/06/13 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
PHP消息队列实现及应用详解【队列处理订单系统和配送系统】
2019/05/20 PHP
js 目录列举函数
2008/11/06 Javascript
Prototype Number对象 学习
2009/07/19 Javascript
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
js触发asp.net的Button的Onclick事件应用
2013/02/02 Javascript
解析javascript 数组以及json元素的添加删除
2013/06/26 Javascript
根据配置文件加载js依赖模块
2014/12/29 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
2017/06/20 Javascript
vscode配置vue下的es6规范自动格式化详解
2019/03/20 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现修改IE注册表功能示例
2018/05/10 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
关于是否需要写商业计划书
2014/02/07 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
生产车间管理制度
2015/08/04 职场文书
2016年小学生新年寄语
2015/08/18 职场文书