AvueAvue
首页
  • 开发指南
  • Skill开发
  • 在线测试工具
  • Form组件
  • Crud组件
  • Default组件
  • Data组件
  • Component组件
产品
工作台
授权
联系
2.x文档
个人支付接口
首页
  • 开发指南
  • Skill开发
  • 在线测试工具
  • Form组件
  • Crud组件
  • Default组件
  • Data组件
  • Component组件
产品
工作台
授权
联系
2.x文档
个人支付接口
  • 基础组件使用约定
  • Input 输入框
  • InputOtp 一次性密码输入
  • InputTree 树选择
  • InputNumber 数字输入框
  • InputColor 颜色选择
  • InputIcon 图标选择
  • InputMap 地图选点
  • InputTable 表格选择
  • Array 数组输入
  • Img 媒体地址输入
  • Url 链接输入
  • Select 选择框
  • Radio 单选框
  • Checkbox 多选框
  • Switch 开关
  • Date 日期时间
  • Time 时间
  • Rate 评分
  • Slider 滑块
  • Cascader 级联选择器
  • Upload 附件上传

InputTree 树选择

avue-input-tree:单选建议为标量,多选为数组。Form 中使用 type: tree;字典仍是树形 dicData。

通用属性、字典和事件见 基础组件使用约定。模板用 kebab-case,Form 配置对象用 camelCase。

基础用法

效果预览可直接操作下方示例

操作示例并观察绑定值,初始值与字典编码保持相同类型。

正在加载示例…
<template>
  <el-row :gutter="20">
    <el-col :xs="24" :md="12">
      <p>单选任意层级</p>
      <avue-input-tree v-model="single" :dic="options" :check-strictly="true" default-expand-all />
    </el-col>
    <el-col :xs="24" :md="12">
      <p>父子独立多选</p>
      <avue-input-tree v-model="multiple" :dic="options" multiple :check-strictly="true" default-expand-all />
    </el-col>
  </el-row>
  <p>父子关联多选:回调中读取半选节点</p>
  <avue-input-tree v-model="linked" :dic="options" multiple :check-strictly="false" :checked="onChecked" default-expand-all />
  <pre>{{ JSON.stringify({ single, multiple, linked, halfCheckedKeys }, null, 2) }}</pre>
</template>

<script setup>
import { ref } from 'vue';
const single = ref('team');
const multiple = ref(['alice']);
const linked = ref([]);
const halfCheckedKeys = ref([]);
const options = [
  { label: '项目组', value: 'team', children: [
    { label: '成员 A', value: 'alice' },
    { label: '成员 B', value: 'bob' },
  ] },
  { label: '独立成员', value: 'carol' },
];
function onChecked(data, state) {
  halfCheckedKeys.value = state.halfCheckedKeys;
}
</script>

属性

属性类型默认值说明
dic / propsarray / object[] / 默认映射树形数据与 label/value/children/leaf 映射
multiplebooleanfalse多选并显示复选框
checkStrictlyboolean单选 true,多选 false父子节点选中状态是否独立
parentbooleantruefalse 时把有子节点的父节点设为禁用
filterable / filterNodeMethodboolean / functionfalse / —开启过滤、传入自定义节点过滤函数
lazy / treeLoadboolean / functionfalse / —懒加载,treeLoad(node, resolve) 调用 resolve(list)
cacheDataarray / object—尚未加载节点的回显标签缓存
tagsbooleanfalse折叠已选标签
defaultExpandedKeys / defaultExpandAllarray / boolean— / false默认展开节点与全部展开
checkOnClickNode / checkOnClickLeaf / expandOnClickNodebooleanfalse节点点击时的勾选/展开行为
accordion / indentboolean / numberfalse / —手风琴与缩进
nodeClickfunction—(data, node, nodeComponent)
checkedfunction—透传底层 check 参数,通常为 (data, checkState)

默认插槽接收 { item, node, label, value }。getHalfList() 返回勾选节点与半选节点的值数组;如需严格只取半选项,可以从 checked 回调的 checkState.halfCheckedKeys 读取。当前 leafOnly 仅有声明,没有独立处理逻辑,不应依靠它改变提交值。

最后更新:
贡献者: smallwei
Prev
InputOtp 一次性密码输入
Next
InputNumber 数字输入框