1. 程式人生 > 其它 >[antdv: DatePicker] `value` provides invalidate moment time. If you want set empty value,use `null`

[antdv: DatePicker] `value` provides invalidate moment time. If you want set empty value,use `null`

技術標籤:ant design vueant design vue

Ant Design Vue DatePicker 報錯

warning.js?2149:7 Warning: [antdv: DatePicker] `value` provides invalidate moment time. If you want to set empty value, use `null` instead.

操作,點選編輯時候,使用v-decorator的initialValue方法賦值報錯

原始碼

<a-date-picker style="width: 100%" :placeholder="$t('user.check.serviceExpirationTime')" v-decorator="['serviceExpirationTime', {initialValue:!this.model.serviceExpirationTime?null:moment(this.model.serviceExpirationTime).format(this.dateFormat)}]"
                :getCalendarContainer="node => node.parentNode" :disabled="disableSubmit" />

這裡通過moment.format後的時間是一個string型別,而ant design vue datepicker 預設是個moment 所以會報錯

解決方法

初始化日期的時候,一定要設定為一個moment型別的

<a-date-picker style="width: 100%" :placeholder="$t('user.check.serviceExpirationTime')" v-decorator="['serviceExpirationTime', {initialValue:!this.model.serviceExpirationTime?null:moment(moment(this.model.serviceExpirationTime).format(this.dateFormat))}]"
                :getCalendarContainer="node => node.parentNode" :disabled="disableSubmit" />