**需求:**原定结项时间表单里回显为2025-02-06,延期时间的选择范围要设置从2025-02-07开始选择包括2.7号的; 2.7号之前的置灰,不可选择
PC端部分代码:
javascript// react的函数组件写法 const disabledDate = function (current) { console.log(current, 'current') const times = pro.proLimted ? pro.proLimted : '' // 从pro这恶对象里取出proLimted参数,即原定结项时间字段:2025-02-06 17:00:00 console.log(pro.proLimted, 'pro.proLimted') // moment()里不能为空,否则报错,所以取值times的时候做下判断 const proTIME = moment(times).format('YYYY-MM-DD') // 转化下时间格式, 类似为2025-02-06 console.log(proTIME , 'proTIME') const d = new Date(proTIME ) // console.log(d, 'd') d.setDate(d.getDate() + 1) console.log(d.getDate(), 'd.getDate()') return current && current.valueOf() < d.getDate() } <FormItem {...formItemLayout} label='延期结项时间'> {getFieldDecorator('csTime', { rules: [{require: true, message: '时间不能为空'}], initialValue: moment('csTime', 'YYYY-MM-DD') })( <DatePicker format='YYYY-MM-DD' disabledDate={disabledDate} placeholder='请选择延期结项时间' /> )} </FormItem>
移动端端部分代码:
javascriptimport { List, Flex, DatePicker } from 'antd-mobile' const minDateFun = () => { const proLimit = contents && contents[0] && contents[0].proLimit if(proLimit && proLimit !== undefined && proLimit !== null && proLimit !== ''){ const d = moment().set({ year: new Date(proLimit).getFullYear(), month: new Date(proLimit).getMonth(), date: new Date(proLimit).getDate() +1 }) return new Date(d) } } const changeDatePick = (data) => { const proId = id saveLimitedTime({ // 这块调接口 proId, proLimited: moment(data).format(YYYY-MM-DD 17:00:00) }) } <div> <Flex align='baseline'> <Flex.Item style={ { flex: 2.8 }}> <div>原定结项时间</div> </Flex.Item> <Flex.Item style={ { flex: 7.2 }}> <div> <DatePicker mode='date' title='请选择时间' extra='请选择结项时间' format='YYYY-MM-DD' minDate={new Date()} maxDate={new Date(moment().set({ yaer: new Date().getFullYear()+1, data: new Date().getDate() }))} onChange={data => changeDatePick(data)} > <list.Item arrow='horizontal'>{projrctTime || '请选择结项时间'}</list.Item> </DatePicker> </div> </Flex.Item> </Flex> </div> <div> <Flex align='baseline'> <Flex.Item style={ { flex: 2.8 }}> <div>延期结项时间</div> </Flex.Item> <Flex.Item style={ { flex: 7.2 }}> <div> <DatePicker mode='date' title='请选择时间' extra='&emsp' format='YYYY-MM-DD 17:00:00' minDate={minDateFun()} onChange={onChange} > <list.Item arrow='horizontal'>{projrctTime || '请选择结项时间'}</list.Item> </DatePicker> </div> </Flex.Item> </Flex> </div>
antd-react日期组件disabledDate不可选择的日期 (置灰)属性
outstanding木槿2025-02-09 20:21
相关推荐
Zestia14 分钟前
页面点击跳转源代码?——element-jumper插件实现前端小白199514 分钟前
面试取经:工程化篇-webpack性能优化之优化loader性能PineappleCoder15 分钟前
大小写 + 标点全搞定!JS 如何精准统计单词频率?zhangbao90s16 分钟前
Web组件:使用Shadow DOMhhy前端之旅16 分钟前
语义版本控制:掌握版本管理的艺术coding随想17 分钟前
深入浅出DOM操作的隐藏利器:Range(范围)对象——掌控文档的“手术刀”前端小白199517 分钟前
面试取经:工程化篇-webpack性能优化之减少模块解析一枚前端小能手18 分钟前
🏗️ 项目越来越大维护不动了,微前端架构了解一下KasukabeTsumugi18 分钟前
TypeScript:联合类型可以转化为元组类型吗?数组如何用联合类型逐项约束?文艺理科生26 分钟前
Nuxt.js入门指南-Vue生态下的高效渲染技术