Transfer 穿梭框

基础用法

显示代码

可搜索

在数据很多的情况下,可以对数据进行搜索和过滤。

显示代码

可自定义

可以对列表标题文案、按钮文案、数据项的渲染函数、列表顶部的勾选状态文案、列表底部的内容区等进行自定义。

显示代码

数据项属性别名

默认情况下,Transfer 仅能识别数据项中的 valuelabeldisabled 字段。如果你的数据的字段名不同,可以使用 props 属性为它们设置别名。

显示代码

参数

你可以通过修改$.fn.transfer.defaults来修改全局默认配置,也可以在初始化时传入指定配置$(el).transfer({xx: xx})。 参数默认为 Json ,若为数组,则会被当做data赋值。

参数 说明 类型 可选值 默认值
value 初始值 array - -
data Transfer 的数据源,见下方【data参数】 array[string / { value, label, disabled }] - []
filterable 是否可搜索 boolean - false
filterPlaceholder 搜索框占位符 string/function - '请输入搜索内容'
filterMethod 自定义搜索方法 function(dataItem) - -
targetOrder 列表元素的排序策略:若为 original,则保持与数据源相同的顺序;若为 push,则新加入的元素排在最后;若为 unshift,则新加入的元素排在最前 string original / push / unshift 'original'
titles 自定义列表标题 array[string/function] - ['列表 1', '列表 2']
buttonTexts 自定义按钮文案 array[string/function] - ['', '']
noData 自定义“无数据”文案 string/function - '无数据'
noFilter 自定义“无匹配数据”文案 string/function - '无匹配数据'
renderContent 自定义数据项渲染函数 function(dataItem) - -
format 列表顶部勾选状态文案 object{noChecked, hasChecked} - { noChecked: '${checked}/${total}', hasChecked: '${checked}/${total}' }
props 数据源的字段别名 object{value, label, disabled} - -
defaultChecked 初始状态下已勾选项的 value 数组 array - []
leftFooter 左侧列表底部的内容 string - -
rightFooter 右侧列表底部的内容 string - -
change 右侧列表元素变化时触发 function(value(新值), type(触发方式:'left' / 'right' / 'set')) - -
leftCheckChange 左侧列表元素被用户选中 / 取消选中时触发 function(dataItem(改变的item), checked(当前选中状态), checks(左侧所有已选中值)) - -
rightCheckChange 右侧列表元素被用户选中 / 取消选中时触发 function(dataItem(改变的item), checked(当前选中状态), checks(右侧所有已选中值)) - -
i18n 国际化文本 key 值,参数见下方【i18n国际化】 object - -

data参数

参数默认为 Json ,若为字符串,则会被当做value赋值。

参数 说明 类型 可选值 默认值
value string - -
label 显示文本 string - -
disabled 禁止使用 boolean - false

方法

你可以通过调用$(el).transfer('xxx', option)来调用 Transfer 方法。

方法 说明 参数 举例
clearQuery 清空某个面板的搜索关键词 'left' / 'right',指定需要清空的面板 $(el).transfer('clearQuery', 'left')
set 设置 Transfer 值 选中值 value 数组 $(el).transfer('set', [1, 2])
get 获取 Transfer 值 - $(el).transfer('get')

i18n国际化

参数 说明 默认值
filterPlaceholder 搜索框提示符 'uTransferFilterPlaceholder'
title1 左侧标题 'uTransferTitle1'
title2 右侧标题 'uTransferTitle2'
button1 到左边按钮文本 'uTransferButton1'
button2 到右边按钮文本 'uTransferButton2'
noData 无数据 'uTransferNoData'
noFilter 无匹配数据 'uTransferNoFilter'