Antd的DatePicker 只选择年份使用,及遇到问题处理

一、引入

import {DatePicker} from "antd";

二、使用

<Form.Item label="年份">
    {
       getFieldDecorator('taskYear', {
           rules: [
             {
                required: true,
                message: '请选择任务年份',
             },

           ],})(
           <DatePicker
           placeholder="请选择任务年份"
           mode="year"
           format="YYYY"
           value={taskYear}
           open={yearOpen}
           className={'input'}
           onPanelChange={this.onYearChange}
           onOpenChange={this.yearOpenChange}
           getCalendarContainer={triggerNode => triggerNode.parentNode}
         />)}
</Form.Item>

方法:

    // 年份选择
    onYearChange = value => {
        console.log("选择年份:",value)
        this.onChange('taskYear', value);
        let date = this.props.form.getFieldValue('taskYear')
        this.props.form.setFieldsValue({
            taskYear:value,
        })
        this.setState({ yearOpen: false });
    };
    yearOpenChange = open => {
        console.log("open:",open)

        this.setState({ yearOpen: open });
    };

年份回显设置:

年份回显设置:
this.props.form.setFieldsValue({annualExpenditure: moment(new Date().getFullYear(), 'YYYY')})
this.props.form.setFieldsValue({annualExpenditure:moment(res, 'YYYY'),})

年份从form获取

年份从何form获取:
let formValue = this.props.form.getFieldsValue()
statYear: formValue.meritYear?formValue.meritYear.format('YYYY'):'',

完毕!

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值