antd 3X版本下,DatePicker年份选择

虽然在antd的4X版本以后支持了年份和季度的时间选择器,但是项目中版本升级可能遇到很多不兼容的地方,而且没有时间去更改,所有需要对第版本的组建进行更改

import React, { Component } from 'react';
import { DatePicker,Form, Button } from 'antd';
const FormItem = Form.Item
class DatePickers extends Component {
  state =  {
    isopen: false,
    time: null
  }

  submit=()=>{
    this.props.form.validateFields((err, values) => {
        if (!err) {
          console.log('点击提交', values.test);
          let t = new Date(values.test)
          console.log(t.getFullYear())
        }
      });
  }

  handlePanelChange = (value) => {    
    console.log(">>>>>", value)    
    this.setState({      
      time: value,      
      isopen: false    
    }) 
    const { setFieldsValue } = this.props.form
    setFieldsValue({
        test: value
    })
  } 
 
  handleOpenChange = (status) => {    
    // console.log(status)    
    if(status){      
        this.setState({isopen: true})    
    } else {      
        this.setState({isopen: false})    
    }  
  }  

  clearValue = (value) => {    
    this.setState({      
        time: null    
    })  
    console.log(">>a>>>", value) 
    const { setFieldsValue } = this.props.form
    setFieldsValue({
        test: value
    })
  }
  
  render() {
    //   const { getFieldProps, name } = this.props
      const { getFieldDecorator, getFieldProps, setFieldsValue  }  = this.props.form;

    return (
        // <div>
        <Form>
            <FormItem>
                {
                    getFieldDecorator('test', {

                    })(
                        <DatePicker          
                        // value={this.state.time}               
                        open={this.state.isopen}               
                        mode="year"               
                        placeholder='请选择年份'              
                        format="YYYY"              
                        onOpenChange={this.handleOpenChange}              
                        onPanelChange={this.handlePanelChange}              
                        onChange={this.clearValue}  
                        allowClear={false}          
                    />    
                    )
                }
              
            </FormItem>  
            <Button onClick={ this.submit }>sub</Button>
        </Form>
    );
  }  
}

const Index = Form.create()(DatePickers)
export default Index


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值