**需求:**原定结项时间表单里回显为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
相关推荐
用户059540174464 分钟前
Redis持久化踩坑实录:这个数据丢失Bug让我排查了6小时用户2136610035727 分钟前
VueRouter进阶-动态路由与嵌套路由梯度不陡9 分钟前
Signal #17:Agent 开始进入组织系统何智超12 分钟前
AI 微前端性能优化之旅(上):复盘许我半盏清茶14 分钟前
前端路由:理解 hash 路由和 history 路由原理胡萝卜术20 分钟前
从暴力到Z字形消元:力扣240「搜索二维矩阵II」的降维打击之路比老马还六24 分钟前
Bipes-Blockly项目二次开发/Coze智能体(十)陈26 分钟前
Vue 3 组件封装与使用:保姆级教程星辰30 分钟前
深入浅出 Android AOA 协议:通信流程与设备切换附着机制解析恋猫de小郭1 小时前
Amper 正式转正 Kotlin Toolchain ,Gradle 未来何去何从
