当你的select-option是循环出来的时候,你点击清空以后这个值是不会清空的,当你使用组件自带的api – allowClear的时候,你会发现清空以后是undefined,所以当你清空的时候,你可以在select标签上使用v-model。

<a-select v-model="year" allowClear @change="changeYear" placeholder="请选择检查年份">
 <a-select-option
   v-for="(item,index) in listYear"
   :value="item.value"
   @change="changeYear"
   :key="index">{{ item.key }}</a-select-option>
</a-select>

data () {
    return {
        year: undefined,
        listYear: []
    }    
}
changeYear (e) {
  this.year = e
},
// 重置
searchResetData () {
     this.year = undefined;
  },

自己写一个检查年份(只有年)

 initSelectYear() {
   let yearRange = 10
   let yearThis = new Date().getFullYear()
   this.currYear = yearThis

   this.listYear = [{
     value: yearThis,
     key: yearThis
   }]
   for (let y = 1; y <= yearRange; y++) {
     this.listYear.unshift({
       value: yearThis - y,
       key: (yearThis - y)
     })
     this.listYear.push({
       value: yearThis + y,
       key: (yearThis + y)
     })
   }
 },
 

Logo

前往低代码交流专区

更多推荐