Vue 中使用element-ui 級(jí)聯(lián)選擇器el-cascader綁定值為數(shù)組情況(返回選中的節(jié)點(diǎn)值)

element-ui級(jí)聯(lián)選擇器為多選(multiple:true,emitPath:false,checkStrictly:false)
核心在于值改變后格嘁,檢查全選子集,push對(duì)應(yīng)上級(jí)菜單
選中


5824CFA3-3FEA-4c99-9FD8-A1F6207C54BC.png

返回


46490484-D559-4a76-9F2E-8D1437695093.png
<div class="block">
  <el-cascader
    :options="options"
    :props="props"
    @change="cascaderChange"
    v-model="cascaderData"
    clearable></el-cascader>
</div>

<script>
  export default {
    data() {
      return {
        cascaderData:[],
        props: { multiple:true,emitPath:false,checkStrictly:false },
        options: [{
          value: '1',
          label: '東南',
          children: [{
            value: '2',
            label: '上海',
            children: [
              { value: '3', label: '普陀' },
              { value: '4', label: '黃埔' },
              { value: '5', label: '徐匯' }
            ]
          }, {
            value: '7',
            label: '江蘇',
            children: [
              { value: '8', label: '南京' },
              { value: '9', label: '蘇州' },
              { value: '10', label: '無(wú)錫' }
            ]
          }, {
            value: '12',
            label: '浙江',
            children: [
              { value: '13', label: '杭州' },
              { value: '14', label: '寧波' },
              { value: '15', label: '嘉興' }
            ]
          }]
        }, {
          value: '17',
          label: '西北',
          children: [{
            value: '18',
            label: '陜西',
            children: [
              { value: '19', label: '西安' },
              { value: '20', label: '延安' }
            ]
          }, {
            value: '21',
            label: '新疆維吾爾自治區(qū)',
            children: [
              { value: '22', label: '烏魯木齊' },
              { value: '23', label: '克拉瑪依' }
            ]
          }]
        }]
      };
    },
    methods: {
      cascaderChange(val){
        if (val && val.length > 0) {
        //賦值
        let ob = {};
        //recursive處理ob數(shù)據(jù)源
        //參數(shù)1:ob 接收處理后的數(shù)據(jù)
        //參數(shù)2:this.options el-cascader 選擇數(shù)據(jù)源
        //參數(shù)3:'value'  值鍵名
        //參數(shù)4:'children' 子集鍵名
        //參數(shù)5:null
        //參數(shù)6:null
        this.recursive(ob,this.options,'value','children',null,null)
        //檢測(cè)賦值
        if(ob&&JSON.stringify(ob)!="{}"){
          for (const key in ob) {
            let len = 0
            for(let j = 0 ; j < val.length ; j++){
              if(ob[key].includes(val[j])){
                len ++
              }
            }
            if(ob[key].length===len){
              this.cascaderData.push(key)
            }
          }
        }
        }
      },
    // element Cascader 級(jí)聯(lián)選擇器 數(shù)據(jù)處理
    recursive(object,data,valueKey,subsetKey,last,lastData){
      if(last){
        object[last] = [];
      }
      if(data&&data.length>0){
        for(let i = 0 ; i < data.length ; i++){
          if(last&&!data[i][subsetKey]){
            object[last].push(data[i][valueKey])
          }
          if(lastData&&!data[i][subsetKey]){
            lastData.push(data[i][valueKey])
          }
          if(data[i][subsetKey]&&data[i][subsetKey].length>0){
            this.recursive(object,data[i][subsetKey],valueKey,subsetKey,data[i][valueKey],object[last])
          }
        }
      }
    },
    }
  };
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市困肩,隨后出現(xiàn)的幾起案子带族,更是在濱河造成了極大的恐慌,老刑警劉巖结洼,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件黎做,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡松忍,警方通過(guò)查閱死者的電腦和手機(jī)附鸽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)荤西,“玉大人,你說(shuō)我怎么就攤上這事敞掘。” “怎么了楣铁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵玖雁,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我盖腕,道長(zhǎng)赫冬,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任溃列,我火速辦了婚禮劲厌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘听隐。我一直安慰自己补鼻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布雅任。 她就那樣靜靜地躺著风范,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沪么。 梳的紋絲不亂的頭發(fā)上硼婿,一...
    開(kāi)封第一講書(shū)人閱讀 52,246評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音禽车,去河邊找鬼寇漫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛殉摔,可吹牛的內(nèi)容都是我干的州胳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼钦勘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼陋葡!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起彻采,我...
    開(kāi)封第一講書(shū)人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤腐缤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后肛响,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體岭粤,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年特笋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了剃浇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片巾兆。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖虎囚,靈堂內(nèi)的尸體忽然破棺而出角塑,到底是詐尸還是另有隱情,我是刑警寧澤淘讥,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布圃伶,位于F島的核電站,受9級(jí)特大地震影響蒲列,放射性物質(zhì)發(fā)生泄漏窒朋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一蝗岖、第九天 我趴在偏房一處隱蔽的房頂上張望侥猩。 院中可真熱鬧,春花似錦抵赢、人聲如沸欺劳。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)杰标。三九已至兵怯,卻和暖如春彩匕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背媒区。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工驼仪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袜漩。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓绪爸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親宙攻。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奠货,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容