ant-design-vue中的DatePicker 日期选择框遇到的坑

仉磊
2023-12-01

问题描述:

在使用ant-design-vue中的组件 DatePicker 日期选择框和下拉选择框的时候,由于下拉选择框中的数据是由后台请求过来的,然后在本地手动加了两条数据;(暂且称后台请求过来的数据为A类数据,手动添加的数据为B类数据;),下拉选选择A类数据后,选择日期选择框,再将下拉选中的数据选成B类数据,则日期选择框中的数据不显示了;要是下拉选中选择B类数据,选择日期之后,下拉选再选择A类数据,日期选择框中的数据同样也不显示了;

解决方法:

出现这个问题之前 日期选择框没有使用v-model ,使用v-model绑定一个moment() 对象后,就不会消失了;要绑定moment()对象则需要安装moment插件,

安装方式:

npm install moment --save # npm方式

yarn add moment # Yarn方式

在需要的文件中引入一下import moment from "moment",就可以使用moment() 对象了;

例子:

 <a-select  style="width: 80%;"   v-model="publicChannel"  @change="changeChannel" >

    <a-select-option :value="value.mediaPlatformCode"  v-for="(value, key, index) in mediaPlate"  :key="index"  >                     {{value.mediaPlatformName}}</a-select-option>

 </a-select>  -----------------<a-date-picker v-model='mom' />    ----------------------

data(){

  return{

     mom:moment()

  }

}

如果下拉选中的数据都是统一的,没有在本地添加可以不用v-model绑定一个对象,直接

<a-date-picker @change="onChange" />,当然在onChange事件中得到的还是一个moment对象,需要对得到的数据进行转换才能得到想要的时间格式

 类似资料: