Ant Design Vue中日期选择器中绑定后台获取的时间

大家或许都用过日期选择中的日期绑定,但是ant design中该怎么绑定呢

1,引入组件:

 <a-date-picker  v-decorator="['birth', {rules: [{required: true, message: '请选择出生日期'}]}]"  />

以上代码是结合form组件一起使用的

<a-range-picker
    :showTime="{ hideDisabledOptions: true,
     defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('00:00:00', 'HH:mm:ss')] }"    选择时间时显示的默认时间
     format="YYYY-MM-DD HH:mm:ss"
     v-decorator="['datatime', {rules: [{required: true, message: '请选择时间'}]}]"          提交数据是即可在datatime中获取时间
 />

2:在提交完数据后,一般会有编辑操作,怎样显示后台返回的时间呢

  <1>后台返回字符串:‘2019-5-20’

  在表单中我们需要借助setFieldsValue方法即

  1  this.form.setFieldsValue({
  2     birth: moment(resdata.birth, 'YYYY-MM-DD'),---------其中resdatda中的数据即为‘2019-05-20’这样的字符串
  3   })

  <2>后台返回时间戳----此处展示的是时间范围的绑定

        const signupST = moment(this.formdata.signupST).format('YYYY-MM-DD HH:mm:ss')
            const signupET = moment(this.formdata.signupET).format('YYYY-MM-DD  HH:mm:ss')

需要注意:使用以上代码,需要引入moment方法,并且,后台返回的时间戳是数值型,否则,需要手动转换如下

        const signupST = moment(Number(this.formdata.signupST)).format('YYYY-MM-DD HH:mm:ss')
       const signupET = moment(Number(this.formdata.signupET)).format('YYYY-MM-DD HH:mm:ss')

具体绑定

 this.form.setFieldsValue({
     datatime: [moment(signupST, 'YYYY-MM-DD  HH:mm:ss'), moment(signupET, 'YYYY-MM-DD  HH:mm:ss')],
 })

以上方法略麻烦,希望有简便方法的大神指正

posted @ 2019-11-14 18:10  冰晨之露  阅读(6862)  评论(0编辑  收藏  举报