Vant TreeSelect 分類選擇

2022-05-31 13:39 更新

引入

import Vue from 'vue';
import { TreeSelect } from 'vant';

Vue.use(TreeSelect);

代碼演示

單選模式

item為分類顯示所需的數(shù)據(jù),數(shù)據(jù)格式見下方示例。main-active-index表示左側(cè)高亮選項(xiàng)的索引,active-id表示右側(cè)高亮選項(xiàng)的 id

<van-tree-select
  :items="items"
  :active-id.sync="activeId"
  :main-active-index.sync="activeIndex"
/>
export default {
  data() {
    return {
      items,
      activeId: 1,
      activeIndex: 0
    };
  }
}

多選模式

active-id為數(shù)組格式時(shí),可以選中多個(gè)右側(cè)選項(xiàng)

<van-tree-select
  :items="items"
  :active-id.sync="activeIds"
  :main-active-index.sync="activeIndex"
/>
export default {
  data() {
    return {
      items,
      activeIds: [1, 2],
      activeIndex: 0
    };
  }
}

自定義內(nèi)容

通過(guò)content插槽可以自定義右側(cè)區(qū)域的內(nèi)容

<van-tree-select
  height="55vw"
  :items="items"
  :main-active-index.sync="active"
>
  <template slot="content">
    <van-image v-if="active === 0" src="https://img.yzcdn.cn/vant/apple-1.jpg" rel="external nofollow"  />
    <van-image v-if="active === 1" src="https://img.yzcdn.cn/vant/apple-2.jpg" rel="external nofollow"  />
  </template>
</van-tree-select>
export default {
  data() {
    return {
      active: 0,
      items: [{ text: '分組 1' }, { text: '分組 2' }]
    }
  }
}

提示信息

設(shè)置dot屬性后,會(huì)在圖標(biāo)右上角展示一個(gè)小紅點(diǎn)。設(shè)置info屬性后,會(huì)在圖標(biāo)右上角展示相應(yīng)的徽標(biāo)

<van-tree-select
  height="55vw"
  :items="items"
  :main-active-index.sync="activeIndex"
/>
export default {
  data() {
    return {
      activeIndex: 0,
      items: [
        { text: '浙江', children: [], dot: true },
        { text: '江蘇', children: [], info: 5 }
      ]
    }
  }
}

API

Props

參數(shù)說(shuō)明類型默認(rèn)值
items分類顯示所需的數(shù)據(jù)Item[][]
height高度,默認(rèn)單位為pxnumber | string300
main-active-index左側(cè)選中項(xiàng)的索引number | string0
active-id右側(cè)選中項(xiàng)的 id,支持傳入數(shù)組number | string |
(number | string)[]
0
max v2.2.0右側(cè)項(xiàng)最大選中個(gè)數(shù)number | stringInfinity

Events

事件名說(shuō)明回調(diào)參數(shù)
click-nav點(diǎn)擊左側(cè)導(dǎo)航時(shí)觸發(fā)index:被點(diǎn)擊的導(dǎo)航的索引
click-item點(diǎn)擊右側(cè)選擇項(xiàng)時(shí)觸發(fā)data: 該點(diǎn)擊項(xiàng)的數(shù)據(jù)

Slots

名稱說(shuō)明
content自定義右側(cè)區(qū)域內(nèi)容

Item 數(shù)據(jù)結(jié)構(gòu)

items 整體為一個(gè)數(shù)組,數(shù)組內(nèi)包含一系列描述分類的對(duì)象,每個(gè)分類里,text表示當(dāng)前分類的名稱,children表示分類里的可選項(xiàng)。

[
  {
    // 導(dǎo)航名稱
    text: '所有城市',
    // 導(dǎo)航名稱右上角徽標(biāo)
    info: 3,
    // 是否在導(dǎo)航名稱右上角顯示小紅點(diǎn)
    dot: true,
    // 導(dǎo)航節(jié)點(diǎn)額外類名
    className: 'my-class',
    // 該導(dǎo)航下所有的可選項(xiàng)
    children: [
      {
        // 名稱
        text: '溫州',
        // id,作為匹配選中狀態(tài)的標(biāo)識(shí)符
        id: 1,
        // 禁用選項(xiàng)
        disabled: true
      },
      {
        text: '杭州',
        id: 2
      }
    ]
  }
]


實(shí)例演示

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)