TreeSelect 分类选择

引入

通过以下方式来全局注册组件,更多注册方式请参考。

单选模式

为分类显示所需的数据,数据格式见下方示例。main-active-index 表示左侧高亮选项的索引,active-id 表示右侧高亮选项的 id。

  1. <van-tree-select
  2. v-model:active-id="activeId"
  3. v-model:main-active-index="activeIndex"
  4. :items="items"
  5. />
  1. import { ref } from 'vue';
  2. export default {
  3. setup() {
  4. const activeId = ref(1);
  5. const activeIndex = ref(0);
  6. const items = [
  7. {
  8. text: '浙江',
  9. children: [
  10. { text: '杭州', id: 1 },
  11. { text: '温州', id: 2 },
  12. ],
  13. },
  14. {
  15. text: '江苏',
  16. children: [
  17. { text: '南京', id: 5 },
  18. ],
  19. },
  20. ];
  21. return {
  22. items,
  23. activeId,
  24. activeIndex,
  25. };
  26. },
  27. };

多选模式

  1. export default {
  2. setup() {
  3. const activeId = ref([1, 2]);
  4. const activeIndex = ref(0);
  5. const items = [
  6. {
  7. text: '浙江',
  8. children: [
  9. { text: '杭州', id: 1 },
  10. { text: '温州', id: 2 },
  11. ],
  12. },
  13. {
  14. text: '江苏',
  15. children: [
  16. { text: '南京', id: 5 },
  17. { text: '无锡', id: 6 },
  18. ],
  19. },
  20. ];
  21. return {
  22. items,
  23. activeId,
  24. activeIndex,
  25. },
  26. };

通过 content 插槽可以自定义右侧区域的内容。

  1. <van-tree-select
  2. v-model:main-active-index="activeIndex"
  3. height="55vw"
  4. :items="items"
  5. >
  6. <template #content>
  7. <van-image
  8. v-if="activeIndex === 0"
  9. />
  10. <van-image
  11. v-if="activeIndex === 1"
  12. src="https://fastly.jsdelivr.net/npm/@vant/assets/apple-2.jpeg"
  13. />
  14. </template>
  15. </van-tree-select>

徽标提示

设置 dot 属性后,会在图标右上角展示一个小红点;设置 badge 属性后,会在图标右上角展示相应的徽标。

  1. <van-tree-select
  2. v-model:main-active-index="activeIndex"
  3. height="55vw"
  4. :items="items"
  5. />
  1. import { ref } from 'vue';
  2. export default {
  3. setup() {
  4. const activeIndex = ref(0);
  5. return {
  6. activeIndex,
  7. items: [
  8. { text: '浙江', children: [], dot: true },
  9. { text: '江苏', children: [], badge: 5 },
  10. ],
  11. };
  12. },
  13. };

Props

Events

TreeSelectItem 数据结构

类型定义

组件导出以下类型定义:

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 。