Skip to content

Tree 树形组件

规则

基础示例

js
const rule = {
    type:"tree",
    title:"权限",
    field:"rule",
    value:[],
    props:{
        data:[],
        keys: {
            value: 'id',
            label: 'title',
            children: 'children'
        }
    }
}

Props 配置示例

可勾选树

js
const rule = {
    type:"tree",
    title:"权限选择",
    field:"permissions",
    value:[],
    props:{
        data: [
            {
                value: 1,
                label: '用户管理',
                children: [
                    { value: 11, label: '查看用户' },
                    { value: 12, label: '编辑用户' },
                ]
            },
            {
                value: 2,
                label: '系统设置',
                children: [
                    { value: 21, label: '基础设置' },
                    { value: 22, label: '高级设置' },
                ]
            }
        ],
        checkable: true,
        checkStrictly: false,
    }
}

可选中树

js
const rule = {
    type:"tree",
    title:"菜单选择",
    field:"menu",
    value:[],
    props:{
        data: [
            {
                value: 1,
                label: '首页',
            },
            {
                value: 2,
                label: '系统管理',
                children: [
                    { value: 21, label: '用户管理' },
                    { value: 22, label: '角色管理' },
                ]
            }
        ],
        activable: true,
        multiple: true,
    }
}

默认展开全部

js
const rule = {
    type:"tree",
    title:"权限选择",
    field:"permissions",
    value:[],
    props:{
        data: [
            {
                value: 1,
                label: '用户管理',
                children: [
                    { value: 11, label: '查看用户' },
                ]
            }
        ],
        checkable: true,
        expandAll: true,
    }
}

Events 事件示例

监听勾选和选中变化

js
const rule = {
    type:"tree",
    title:"权限选择",
    field:"permissions",
    value:[],
    props:{
        data: [
            {
                value: 1,
                label: '用户管理',
                children: [
                    { value: 11, label: '查看用户' },
                ]
            }
        ],
        checkable: true,
    },
    on: {
        change: (value, context) => {
            console.log('勾选节点改变:', value, context);
        },
        active: (value, context) => {
            console.log('选中节点改变:', value, context);
        },
        expand: (value, context) => {
            console.log('展开节点改变:', value, context);
        },
    },
}

勾选后统计权限数量

js
const rule = [
    {
        type:"tree",
        title:"权限选择",
        field:"permissions",
        value:[],
        props:{
            data: [
                {
                    value: 1,
                    label: '用户管理',
                    children: [
                        { value: 11, label: '查看用户' },
                        { value: 12, label: '编辑用户' },
                    ]
                }
            ],
            checkable: true,
        },
        inject: true,
        on: {
            change: ($inject, value) => {
                // 统计已选权限数量
                $inject.api.setValue('permissionCount', value.length);
            },
        },
    },
    {
        type:"input",
        field:"permissionCount",
        title:"已选权限数",
        props: {
            disabled: true,
        },
    },
]

完整配置项:TDesign_Tree

value :Array

FormCreate 是一个开源项目,基于 MIT 许可证发布,欢迎个人和企业用户免费使用