element-ui 樹(tree)組件只能單選實(shí)現(xiàn)

原生組件中element-ui的tree組件是沒有單選這個api的将硝,只有多選岩四】蕹ⅲ可是很多實(shí)際項(xiàng)目中其實(shí)是有這樣需求的,比如我就遇到了剖煌。然后想辦法實(shí)現(xiàn)了材鹦,如果你也剛好需要,拿走不謝耕姊。

項(xiàng)目需求(只能單選)

TIM截圖20180903113411.png

html部分


<el-tree 
 :data="treeData" 
 ref="tree" 
 @check-change="orgCheckChange" 
 show-checkbox 
 :check-strictly="true" 
 node-key="id">
</el-tree>

data部分

treeData: [
        {
          id: 1,
          label: '品牌一',
          children: [
            {
              id: 4,
              label: '華東區(qū)域',
              children: [
                {
                  id: 9,
                  label: '上海'
                },
                {
                  id: 10,
                  label: '昆山'
                }
              ]
            }
          ]
        },
        {
          id: 2,
          label: '品牌二',
          children: [
            {
              id: 5,
              label: '華東區(qū)域'
            },
            {
              id: 6,
              label: '華南區(qū)域'
            }
          ]
        },
        {
          id: 3,
          label: '品牌三',
          children: [
            {
              id: 7,
              label: '華北區(qū)域'
            },
            {
              id: 8,
              label: '華南區(qū)域'
            }
          ]
        }
      ],
      defaultProps: null,
      selectOrg: {
        orgsid: []
      }

事件部分

// check-change 
// 節(jié)點(diǎn)選中狀態(tài)發(fā)生變化時的回調(diào)   
// 共三個參數(shù)桶唐,依次為:傳遞給 data 屬性的數(shù)組中該節(jié)點(diǎn)所對應(yīng)的對象、節(jié)點(diǎn)本身是否被選中茉兰、節(jié)點(diǎn)的子樹中是否有被選中的節(jié)點(diǎn)
orgCheckChange(data, checked, indeterminate) {
     console.log(data, '數(shù)據(jù)')
     console.log(checked, '選中狀態(tài)')
     console.log(indeterminate, '子樹中選中狀態(tài)')
     // 獲取當(dāng)前選擇的id在數(shù)組中的索引
     const indexs = this.selectOrg.orgsid.indexOf(data.id)
     // 如果不存在數(shù)組中尤泽,并且數(shù)組中已經(jīng)有一個id并且checked為true的時候,代表不能再次選擇。
     if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
       console.log('only one')
       this.$message({
         message: '只能選擇一個區(qū)域安吁!',
         type: 'error',
         showClose: true
       })
       // 設(shè)置已選擇的節(jié)點(diǎn)為false 很重要
       this.$refs.tree.setChecked(data, false)
     } else if (this.selectOrg.orgsid.length === 0 && checked) {
       // 發(fā)現(xiàn)數(shù)組為空 并且是已選擇
       // 防止數(shù)組有值醉蚁,首先清空,再push
       this.selectOrg.orgsid = []
       this.selectOrg.orgsid.push(data.id)
     } else if (
       indexs >= 0 &&
       this.selectOrg.orgsid.length === 1 &&
       !checked
     ) {
       // 再次直接進(jìn)行賦值為空操作
       this.selectOrg.orgsid = []
     }
   }

總結(jié)

拿走不謝的同時也可以提出不好不科學(xué)的地方鬼店,留下更好更科學(xué)的方法和思路网棍。一起學(xué)習(xí)完善,造福程序界妇智。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末滥玷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子巍棱,更是在濱河造成了極大的恐慌惑畴,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件航徙,死亡現(xiàn)場離奇詭異如贷,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)到踏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評論 3 385
  • 文/潘曉璐 我一進(jìn)店門杠袱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人窝稿,你說我怎么就攤上這事楣富。” “怎么了伴榔?”我有些...
    開封第一講書人閱讀 157,435評論 0 348
  • 文/不壞的土叔 我叫張陵纹蝴,是天一觀的道長窝撵。 經(jīng)常有香客問我宾茂,道長,這世上最難降的妖魔是什么殴边? 我笑而不...
    開封第一講書人閱讀 56,509評論 1 284
  • 正文 為了忘掉前任援奢,我火速辦了婚禮耙旦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘萝究。我一直安慰自己免都,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評論 6 386
  • 文/花漫 我一把揭開白布帆竹。 她就那樣靜靜地躺著绕娘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪栽连。 梳的紋絲不亂的頭發(fā)上险领,一...
    開封第一講書人閱讀 49,837評論 1 290
  • 那天侨舆,我揣著相機(jī)與錄音,去河邊找鬼绢陌。 笑死挨下,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脐湾。 我是一名探鬼主播臭笆,決...
    沈念sama閱讀 38,987評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼秤掌!你這毒婦竟也來了愁铺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,730評論 0 267
  • 序言:老撾萬榮一對情侶失蹤闻鉴,失蹤者是張志新(化名)和其女友劉穎茵乱,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體孟岛,經(jīng)...
    沈念sama閱讀 44,194評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瓶竭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了渠羞。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片斤贰。...
    茶點(diǎn)故事閱讀 38,664評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖堵未,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盏触,我是刑警寧澤渗蟹,帶...
    沈念sama閱讀 34,334評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站赞辩,受9級特大地震影響雌芽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜辨嗽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評論 3 313
  • 文/蒙蒙 一世落、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧糟需,春花似錦屉佳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,764評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至杈帐,卻和暖如春体箕,著一層夾襖步出監(jiān)牢的瞬間专钉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,997評論 1 266
  • 我被黑心中介騙來泰國打工累铅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留跃须,地道東北人。 一個月前我還...
    沈念sama閱讀 46,389評論 2 360
  • 正文 我出身青樓娃兽,卻偏偏與公主長得像菇民,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子换薄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評論 2 349

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