DatePicker|DatePicker 动态设置 value
前言
应公司要求,最近要实现一个日期选择框,只选择年份。并且可以手动设置 上一年 和 下一年。我尝试了几种写法,最后成功了。期间遇到了清空日期后再打开选择日期,值为 NAN ,好在问题都解决了,大概的思路分享给他大家
- 引入 DatePicker 组件
- 在 state 中保存日期状态
state = {
dateString:new Date().getFullYear(),
date: moment(new Date().getFullYear(), 'YYYY')
}
- 选择年份和修改年份的时候更新状态
// 选择年份
handleGetYear = (date, dateString) => {
if (dateString !=='') {
this.setState({dateString,date: moment(date, dateString)})
}else {
this.setState({dateString: '',date: ''})
}
}
// 上一年
handleGetLastYearClick = () => {
const last = parseInt(this.state.dateString) - 1
this.setState({date: moment(last, 'YYYY'),dateString: last})
}
// 下一年
handleGetNextYearClick = () => {
const next = parseInt(this.state.dateString) + 1
this.setState({date: moment(next, 'YYYY'),dateString: next})
}
【DatePicker|DatePicker 动态设置 value】这里注意: if (dateString !=='') {} 就是为了避免清空日期出现 NAN
推荐阅读
- 第6.2章(设置属性)
- 动态组件与v-once指令
- 15、IDEA学习系列之其他设置(生成javadoc、缓存和索引的清理等)
- performSelectorOnMainThread:withObject:waitUntilDone:参数设置为NO或YES的区别
- iview|iview upload 动态改变上传参数
- spring|spring boot中设置异步请求默认使用的线程池
- react-navigation|react-navigation 动态修改 tabBar 样式
- Python绘制小红花
- K14|K14 9/15销售提问法D2
- day|day 28 设置路由表