跳到主要内容

分类选择 TreeSelect

多组数据选择,内置侧边栏组件

安装使用

import { TiTreeSelect } from '@titian-design/mobile-vue'

用法示例

基础用法
codesanbox
copy
code
自定义内容
content-a
codesanbox
copy
code
自定义数据项别名
codesanbox
copy
code

基础用法

<template>
<TiTreeSelect :options="options" />
</template>

<script lang="ts" setup>
import { TiTreeSelect } from '@titian-design/mobile-vue';
const options = [
{
label: "侧边导航",
value: "a1",
children: [
{ label: "标题文字", value: "a1-1" },
{ label: "标题文字", value: "a1-2" }
]
}
];
</script>

自定义数据项别名

<template>
<TiTreeSelect :options="options" :alias="alias" />
</template>

<script lang="ts" setup>
import { TiTreeSelect } from '@titian-design/mobile-vue';
const alias = { label: 'name', value: 'id', children: 'list' };
const options = [
{
name: "侧边导航",
id: "a1",
list: [
{ name: "标题文字", id: "a1-1" },
{ name: "标题文字", id: "a1-2" }
]
}
];
</script>

自定义右侧内容部分

<template>
<TiTreeSelect :options="options" @changeNav="onChangeNav" />
{{index === 0 && <div>content-a</div>}}
{{index === 1 && <div>content-b</div>}}
</TiTreeSelect>
</template>

<script lang="ts" setup>
import { TiTreeSelect , ref } from '@titian-design/mobile-vue';
const options = [
{ label: "侧边导航1", value: "a1" },
{ label: "侧边导航2", value: "a2" }
];
var index = ref(0);
const onChangeNav = (e: CustomEvent<{index: number, item: Record<string, any>}>) => {
index = e.detail.index
};
</script>

TiTreeSelect API

属性 Properties

名称类型必填默认值说明备注
optionsArray<Option>-选项数据,Option类型,普通模式需包含 children 字段,自定义模式不需要 children 字段-
default-indexnumber0左侧选中项的索引-
active-valuearray-右侧选中项的 value,对应option 子项 value 值-
disabled-valuearray-禁用项,option 子项 value 值-
heightnumber | string100%高度-
max-countnumber-最多可选项数-
iconstring-选项右侧 icon-
aliasRecord<string, string>-数据项默认字段名label value children的别名,用于自定义数据-
ext-stylestring | Record<string, string>-根节点样式-

Option

API 属性中的 options 为一个对象数组,数组中的每一个对象有以下 key:

名称类型必填默认值说明备注
labelstring-展示文字-
valuestring-唯一id-
childrenArray<{label: string, value: string}>-右侧内容区域列表数据项,其中value值对应activeValue和disabledValue中的值-

事件 Events

名称参数列表描述备注
change-nav(e: CustomEvent<{index: number, item: Record<string, any>}>) => void父选项改变是触发-
change-item(e: CustomEvent<{activeValue: array, current: Record<string, any>, item: Record<string, any>}>) => void子选项改变是触发-

插槽 Slots

名称说明备注
default默认插槽-

外部样式类 External Classes

名称说明备注
ext-class根节点样式类名-
tree-select-sidebar左侧 sidebar 样式类名-
tree-select-container右侧容器样式类名-

CSS 变量 CSS Variable

变量默认值说明备注
--tree-select-active-colortheme.color.brand.1000右侧默认选项内容选中颜色-
--tree-select-disabled-colortheme.color.gray.texticon.250右侧默认选项内容禁用颜色-