欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue Treeselect樹形下拉框的使用小結(jié)

 更新時間:2023年10月17日 10:21:00   作者:小白探索世界歐耶!~  
樹形下拉框是一個帶有下列樹形結(jié)構(gòu)的下拉框,本文主要介紹了Vue Treeselect樹形下拉框的使用小結(jié),具有一定的參考價值,感興趣的可以了解一下

昨天在做一個表單,里面有一項(xiàng)是以tree形式為選項(xiàng)的select框↓ 

于是乎,用到了vue中的treeselect組件,在此記錄一下。

 有幾個比較重要的點(diǎn):

1、綁值, :value=“form.astdeptId”,主要綁的就是id或者code,通過id或code找到對應(yīng)的label回顯
2、options是數(shù)據(jù)源,正常調(diào)接口獲取就行了
3、append-to-body="true"這個最好加上,可能會遇到下拉的彈窗打不開或者只有一點(diǎn)點(diǎn)高的情況
4、normalizer就是把我們自己的后端返的數(shù)據(jù)格式按樹插件需要的格式轉(zhuǎn)換
5、select點(diǎn)擊事件里賦值
6、插槽slot=“option-label” 是下拉框的值
7、插槽slot=“value-label” 是輸入框回顯的值

使用

1.放入目標(biāo)位置

      <el-form-item label="父節(jié)點(diǎn)" v-model="formData.parentCategoryKey">
        <listBoxF>
          <template slot="content">
            <treeselect class="treeSelect-option" v-model="value" :multiple="multiple" :normalizer="normalizer" :options="list" placeholder="請選擇" @select="selectNode" />
          </template>
        </listBoxF>
      </el-form-item>

2. 用watch來監(jiān)聽value的變化

    watch:{
      // 監(jiān)聽選中值的變化
      value:{
        deep:true,
        handler(val){
          this.$emit('getSelectVal',val)
        }
      }
    },

3.一定要記得設(shè)置好替換的字段 

      // 自定義參數(shù)鍵值名稱
      normalizer(node){
          //去掉children=[]的children屬性
          if(node.children && !node.children.length){
              delete node.children;
          }
          return {
            id: node.categoryKey,
            label: node.categoryName,
            children: node.children,
            level: node.level
          }
      },

4. 選中的時候,進(jìn)行相關(guān)賦值操作

      selectNode(node){
        this.formData.level=node.level+1
        this.formData.parentCategoryKey=node.categoryKey || ''
        this.value=node.categoryKey
        console.log("selectNode(node):",this.formData)
      },

5. 初始化,一定要寫null,否則默認(rèn)情況下會出現(xiàn) unknown

    created(){
      // console.log(this.value,this.formData)
      this.getTree()
      this.reset()
      if(this.formData.parentCategoryKey){
        this.value=this.formData.parentCategoryKey
      }else{
        this.value=null
      }
    }

附加:里面我用到的插槽

<template>
  <div class="clearfix list-box-f">
    <div class="text">
      <slot name="name"></slot>
    </div>
    <div class="cont">
      <slot name="content"></slot>
    </div>
  </div>
</template>
<script>
  export default {
    name: 'list-box-f'
  }
</script>
 
<style lang="scss" rel="stylesheet/scss">
  .list-box-f {
    margin-bottom: 20px;
    &:last-child {
      margin-bottom: 0;
    }
    .text {
      width: 144px;
      float: left;
      text-align: right;
      line-height: 32px;
      padding-right: 8px;
      >strong {
        color: #ff0000;
        padding-right: 4px;
      }
    }
    .cont {
      // width: calc(100% - 162px);
      float: left;
      .textarea-content {
        .v-input {
          textarea {
            min-height: 400px !important;
            font-size: 12px;
          }
        }
      }
      >.v-radio-group,>.ans-radio-group {
        padding-top: 7px;
      }
      >.v-input {
        textarea {
          height: 70px;
        }
      }
      .v-radio-group-item {
        font-weight: normal;
        margin-top: 1px;
      }
    }
  }
</style>

 效果:

踩坑:

因?yàn)橐婚_始我吧value初始化為''、{}兩種方式,都不行,會出現(xiàn)unknown

最后我改為value,就可以了!

它是根據(jù)id來與label進(jìn)行匹配的,找不到key他就對不上。 treeselect 綁定的值需要與options輸出的id相對應(yīng),若是空值,請不要給空字符串,0,等,因?yàn)闀霈F(xiàn)unknown,并且當(dāng)選擇了值以后,會出現(xiàn)選中的值后面會拼上unknown。

解決辦法:把v-modle綁定的值設(shè)為null,初始化的時候才不會出現(xiàn)unknown。

到此這篇關(guān)于Vue Treeselect樹形下拉框的使用小結(jié)的文章就介紹到這了,更多相關(guān)Vue 樹形下拉框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue 利用指令實(shí)現(xiàn)禁止反復(fù)發(fā)送請求的兩種方法

    Vue 利用指令實(shí)現(xiàn)禁止反復(fù)發(fā)送請求的兩種方法

    這篇文章主要介紹了Vue 利用指令實(shí)現(xiàn)禁止反復(fù)發(fā)送請求的兩種方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Vue中實(shí)現(xiàn)回車鍵切換焦點(diǎn)的方法

    Vue中實(shí)現(xiàn)回車鍵切換焦點(diǎn)的方法

    這篇文章主要介紹了在Vue中實(shí)現(xiàn)回車鍵切換焦點(diǎn)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • vue3中vite.config.js相關(guān)常用配置超詳細(xì)講解

    vue3中vite.config.js相關(guān)常用配置超詳細(xì)講解

    在Vue3項(xiàng)目中vite.config.js文件是Vite構(gòu)建工具的配置文件,它用于定義項(xiàng)目的構(gòu)建和開發(fā)選項(xiàng),這篇文章主要介紹了vue3中vite.config.js相關(guān)常用配置的相關(guān)資料,需要的朋友可以參考下
    2025-04-04
  • 理理Vue細(xì)節(jié)(推薦)

    理理Vue細(xì)節(jié)(推薦)

    這篇文章主要介紹了Vue細(xì)節(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • vue源碼中的檢測方法的實(shí)現(xiàn)

    vue源碼中的檢測方法的實(shí)現(xiàn)

    這篇文章主要介紹了vue源碼中的檢測方法的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 微信小程序?qū)崙?zhàn)基于vue2實(shí)現(xiàn)瀑布流的代碼實(shí)例

    微信小程序?qū)崙?zhàn)基于vue2實(shí)現(xiàn)瀑布流的代碼實(shí)例

    瀑布流,又稱瀑布流式布局,是比較流行的一種網(wǎng)站頁面布局,視覺表現(xiàn)為參差不齊的多欄布局,隨著頁面滾動條向下滾動,這種布局還會不斷加載數(shù)據(jù)塊并附加至當(dāng)前尾部,這篇文章主要介紹了微信小程序?qū)崙?zhàn),基于vue2實(shí)現(xiàn)瀑布流,需要的朋友可以參考下
    2022-12-12
  • 基于Vue+Echart繪制動態(tài)圖

    基于Vue+Echart繪制動態(tài)圖

    這篇文章主要給大家介紹了基于Vue+Echart的動態(tài)圖繪制,用戶需要展示他的數(shù)據(jù)庫是有哪個數(shù)據(jù)庫轉(zhuǎn)化的,需要展示數(shù)據(jù)庫的軌跡圖,前導(dǎo)庫的關(guān)系圖,文中有詳細(xì)的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2023-10-10
  • ElementUI如何修改Dialog的標(biāo)題樣式

    ElementUI如何修改Dialog的標(biāo)題樣式

    這篇文章主要介紹了ElementUI如何修改Dialog的標(biāo)題樣式問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Vue3.2單文件組件setup的語法糖與新特性總結(jié)

    Vue3.2單文件組件setup的語法糖與新特性總結(jié)

    ue3上線已經(jīng)很久了,許多小伙伴應(yīng)該都已經(jīng)使用過vue3了,下面這篇文章主要給大家介紹了關(guān)于Vue3.2單文件組件setup的語法糖與新特性總結(jié)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • vue實(shí)現(xiàn)大文件切片斷點(diǎn)續(xù)傳

    vue實(shí)現(xiàn)大文件切片斷點(diǎn)續(xù)傳

    上傳文件,基本上用了input框就可以解決,但大文件應(yīng)該怎樣上傳呢,一次性上傳明顯不現(xiàn)實(shí),因?yàn)槊看我粩嗑W(wǎng),那就會從頭開始上傳,所以切片勢在必行,關(guān)鍵就是如何切,怎么保障文件數(shù)據(jù)不會丟失,同時優(yōu)化上傳保障機(jī)制,本文就來給大家講講如何上傳大文件
    2023-07-07

最新評論