溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

element-ui?select多選綁定回顯值問題怎么解決

發(fā)布時(shí)間:2023-04-06 09:27:25 來源:億速云 閱讀:177 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“element-ui select多選綁定回顯值問題怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“element-ui select多選綁定回顯值問題怎么解決”吧!

    element-ui select多選綁定回顯值

    element-ui?select多選綁定回顯值問題怎么解決

    這是要最后實(shí)現(xiàn)的效果。

     <el-form-item label="機(jī)組名稱" prop="unitName">
    	<el-select
    	     v-model="unitName"
    	     multiple
    	     placeholder="請(qǐng)選擇"
    	    @change="unitChange"
    	>
    	   <el-option
    	       v-for="item in jzmcOption"
    	       :key="item.unitId"
    	       :label="item.unitName"
    	       :value="item.unitId"
    	    ></el-option>
    	</el-select>
    </el-form-item>

    unitName 綁定的值是一個(gè)數(shù)組,jzmcOption是根據(jù)接口查出來的下拉框的數(shù)據(jù)。

    后臺(tái)要接收的是一個(gè)逗號(hào)分隔開的字符串,要接收id值和name值

    unitName:[],
    jzmcOption:[],
      unitChange(val) {
          console.log(val);
          let str = val.join(',');
          let name = '';
          this.jzmcOption.map((v, i) => {
            val.map((a, b) => {
              if (a == v.unitId) {
                name += ',' + v.unitName;
              }
            });
          });
          name = name.substring(1);
          this.jydyForm.unitName = name;
          this.jydyForm.unitId = str;
        },

    element-ui?select多選綁定回顯值問題怎么解決

    這個(gè)是下拉框數(shù)據(jù)變化時(shí)獲取到的數(shù)據(jù)。

    在jzmcOption里找到他的name值拼起來用逗號(hào)隔開。

    回顯部分,邏輯是已經(jīng)選中過的值,后臺(tái)不會(huì)再返回了,所以我們需要將現(xiàn)在已經(jīng)選中的數(shù)據(jù)跟后臺(tái)查出來的數(shù)據(jù)拼起來,組成編輯時(shí)可選的新的下拉框。

        // 查看 編輯
        handleCheckLxr(row, status) {   
          //將id值賦值給下拉框綁定的值
          this.unitName = this.jydyForm.unitId.split(',');      
    
          let i = this.jydyForm.unitId.split(',');
          let n = this.jydyForm.unitName.split(',');
          let list = [];
          i.map((v, i) => {
            list.push({ unitId: v, unitName: n[i] });
          });
          
          this.jzmcOption = [];
          getChooseByCustomerId(this.currentCustomerId).then(res => {
            
            if (res.rel) {
              let list_o = res.data.rows;
              this.jzmcOption = [...list_o,...list];        
            }
          });
        },

    回顯時(shí)可能會(huì)遇到已經(jīng)選中的值,沒有在下拉數(shù)據(jù)中選擇,可能是數(shù)據(jù)類型的問題,需要處理下。

    element-ui下拉多選數(shù)據(jù)回顯時(shí)無法進(jìn)行修改

    解決方案

    在el-select添加@change事件,執(zhí)行強(qiáng)制刷新this.$forceUpdate()。

    示例:

    <el-select @change="selectChangeHandle" ...>...</el-select>
    selectChangeHandle(){
        this.$forceUpdate()
    }

    到此,相信大家對(duì)“element-ui select多選綁定回顯值問題怎么解決”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

    向AI問一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI