**需求:**原定结项时间表单里回显为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
相关推荐
じòぴé南冸じょうげん10 分钟前
小程序的project.private.config.json是无依赖文件,那可以删除吗?会豪19 分钟前
Electron主进程渲染进程如何优雅的进行通信jianghaha201120 分钟前
前端 Word 模板参入特定数据 并且下载跟橙姐学代码20 分钟前
轻松搞定 Python 模块与包导入:新手也能秒懂的入门指南aiwery26 分钟前
大模型场景下的推送技术选型:轮询 vs WebSocket vs SSE会豪27 分钟前
前端插件-不固定高度的DIV如何增加transition却尘27 分钟前
Server Actions 深度剖析(2):缓存管理与重新验证,如何用一行代码干掉整个客户端状态层小菜全27 分钟前
Vue 3 + TypeScript 事件触发与数据绑定方法Hilaku31 分钟前
面试官开始问我AI了,前端的危机真的来了吗?zheshiyangyang41 分钟前
TypeScript学习【一】