Skip to content

Transfer 穿梭框

规则

基础示例

js
const rule = {
    type: "transfer",
    field: "transfer",
    title: "穿梭框",
    value: [],
    props: {
        data:[{
            value: 1,
            label: '内容1',
            disabled: false
        },{
            value: 2,
            label: '内容2',
            disabled: true
        },{
            value: 3,
            label: '内容3',
            disabled: false
        },]
    },
}

Props 配置示例

自定义标题

js
const rule = {
    type: "transfer",
    field: "transfer",
    title: "权限分配",
    value: [],
    props: {
        data: [
            { value: 1, label: '查看用户' },
            { value: 2, label: '编辑用户' },
            { value: 3, label: '删除用户' },
        ],
        titles: ['待分配', '已分配'],
        search: true,
    },
}

搜索功能

js
const rule = {
    type: "transfer",
    field: "transfer",
    title: "权限分配",
    value: [],
    props: {
        data: [
            { value: 1, label: '查看用户' },
            { value: 2, label: '编辑用户' },
        ],
        search: true,
        searchProps: {
            placeholder: "搜索权限",
        },
    },
}

Events 事件示例

监听穿梭变化

js
const rule = {
    type: "transfer",
    field: "transfer",
    title: "权限分配",
    value: [],
    props: {
        data: [
            { value: 1, label: '查看用户' },
            { value: 2, label: '编辑用户' },
        ],
    },
    on: {
        change: (value, context) => {
            console.log('右侧列表变化:', value);
            console.log('移动方向:', context.direction);
        },
    },
}

穿梭后统计数量

js
const rule = [
    {
        type: "transfer",
        field: "transfer",
        title: "权限分配",
        value: [],
        props: {
            data: [
                { value: 1, label: '查看用户' },
                { value: 2, label: '编辑用户' },
            ],
        },
        inject: true,
        on: {
            change: ($inject, value) => {
                // 自动更新已选数量
                $inject.api.setValue('selectedCount', value.length);
            },
        },
    },
    {
        type: "input",
        field: "selectedCount",
        title: "已选权限数",
        props: {
            disabled: true,
        },
    },
]

完整配置项:TDesign_Transfer

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