vue+antd+select下拉初始化賦值

浩星發表於2019-11-19

前言:

        antd的功能是挺好的,但是在他的下拉這裡初始化賦值是很不友好的,我這裡的需要時新增置空,修改賦值的需求,他的自帶功能defaultValue滿足不了需要,他只在建立的時候賦值一次,我們修改就需要每次點選都賦值上去,我們這裡用value來實現,但是vue中的value使用跟react中還是有很大區別的,這裡來記錄下我解決這個問題的辦法。

實現效果:

實現步驟:

步驟一 ( 獲取封裝元件原始碼:antd_select.vue

1、設定labelInValuetrue ,為了下拉獲取值可以拿到 key + label,

2、template部分繫結value值,data註冊selVal ,watch裡面寫監聽,監聽傳來的值

步驟二:前兩步都是封裝vue寫的方法,這裡之後是呼叫部分的寫法

1、template部分:繫結的Value是傳過去的值,是一個物件{ key+id ,label+內容(不是必填)}

<aSel :Value='project_obj' :options='peojectOptions' @selectChange='handleChangeGC'></aSel>

2、data:定義變數Value繫結的值

 project_obj:{},//工程預設選中

3、js註冊:

import aSel from '@/components/comantd/antd_select'
 components: {
    aSel
  },

4、mothods

     /**
     * 新增裝置
     */
    addTableData(){
      this.project_obj = {key:' '};//工程預設選中,中間有個空格,必須加
    },
editData(data){
    //下拉資料回填
    this.project_obj = {//工程預設選中
       key:data.project_id,
    };
}
    /**
     * 下拉回填
     */
    handleChangeGC(data){//工程
      this.addPostData.project_no = data.key;
    },

到這裡就結束了,如果還有問題,想和我討論的小夥伴在底下留言,我見到會第一時間回覆的,一起進步

相關文章