Layui transfer

本文详细介绍layui框架中的穿梭框组件,包括基本功能的源代码、配置选项及如何重载和获取数据。通过具体示例,展示了穿梭框的初始化、数据解析、自定义文本及回调函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

layui-穿梭框

基本功能源代码

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>穿梭框组件</title>
  <link rel="stylesheet" href="layui/css/layui.css">
</head>
<body>
  <div id="test1"></div>
  <div id="test2"></div>
  <button type="button" class="layui-btn"id="a">重载</button>
  <button type="button" class="layui-btn"id="b">获取</button>
  <script src="layui/layui.js"></script>
  <script>
  	
  layui.use(['layer','transfer'],function(){
  	$=layui.$;
    $('#b').click(function(){
    	var getData = transfer.getData('demol1'); 
    	layer.msg(JSON.stringify(getData));
    })
    $('#a').click(function(){
    	transfer.reload('demol1', {
  title: ['新列表1', '新列表2']
  ,elem: '#test1' 
  ,data:[
  		{"id":"1","name":"李白1"},
  		{"id":"2","name":"杜甫1"},
  		{"id":"3","name":"贤心1"}
  		]
});
    })
  	var transfer=layui.transfer;
  	transfer.render({
  		elem:'#test1'
//		,data:[
//		{"value":"1","title":"李白","disbled":"","checked":""},
//		{"value":"2","title":"杜甫","disbled":"","checked":""},
//		{"value":"3","title":"贤心","disbled":"","checked":""}
//		]
  		,title:['浪漫派','现实派']
  		,data:[
  		{"id":"1","name":"李白1"},
  		{"id":"2","name":"杜甫1"},
  		{"id":"3","name":"贤心1"}
  		]
  		,parseData: function(res){
  			return{
  				"value":res.id
  				,"title":res.name
  				,"disbled":res.disbled
  				,"checked":res.checked
  			}
  			
  		}
  		,"value":['2','3']
  		,id:'demol1'
  		,"showSearch":true
  		,"width":300
  		,"height":300
  		,text:{
  			none:'呀唏勒',
  			searchNone:'what are you 弄啥嘞?'
  		}
  		,onchange:function(data,index){
  			console.log(data);
  			console.log(index);
  		}
  	});
  	transfer.render({
      elem: '#test2'  //绑定元素
      ,data: [
        {"value": "1", "title": "李白", "disabled": "", "checked": ""}
        ,{"value": "2", "title": "杜甫", "disabled": "", "checked": ""}
        ,{"value": "3", "title": "贤心", "disabled": "", "checked": ""}
      ]
      ,id: 'demol2' //定义索引
    });
    transfer.set(options);
    
  });
  </script>
</body>
</html>

基础功能

  1. title:['','',''.......]穿梭框上方标题
  2. data:[{'':'','':''....},{'':'','':''....},{'':'','':''....}...]数据源,用来存数据
  3. parseData–用于对数据源进行格式解析
transfer.render({
  elem: '#text1'
  ,data: [
    {"id": "1", "name": "李白"}
    ,{"id": "2", "name": "杜甫"}
    ,{"id": "3", "name": "贤心"}
  ]
  ,parseData: function(res){
    return {
      "value": res.id //数据值
      ,"title": res.name //数据标题
      ,"disabled": res.disabled  //是否禁用
      ,"checked": res.checked //是否选中
    }
  }
});
  1. "value":['','',''.....]初始选中的数据(右侧列表)
  2. id:''设定实例唯一索引,用于基础方法传参使用。
  3. "showSearch":trun/flase是否开启搜索
  4. "width":定义左右穿梭框宽度,默认200
  5. "height":定义左右穿梭框高度,默认340
  6. text–自定义文本,如空数据时的异常提示等。
text: {
  none: '无数据' //没有数据时的文案
  ,searchNone: '无匹配数据' //搜索无匹配数据时的文案
} 
  1. onchange–左右数据穿梭时的回调
transfer.render({
  elem: '#text'
  ,data: [] //数据源
  ,onchange: function(data, index){
    console.log(data); //得到当前被穿梭的数据
    console.log(index); //如果数据来自左边,index 为 0,否则为 1
  }
});
  1. 获取右侧数据
$=layui.$;
    $('#b').click(function(){
    	var getData = transfer.getData('demol1'); 
    	layer.msg(JSON.stringify(getData));//强转为json`
    })
  1. 重载一个已经创建的组件实例,被覆盖新的基础属性
$=layui.$;
          $('#a').click(function(){
        	transfer.reload('demol1', {
      title: ['新列表1', '新列表2']
      ,elem: '#test1' 
      ,data:[
      		{"id":"1","name":"李白1"},
      		{"id":"2","name":"杜甫1"},
      		{"id":"3","name":"贤心1"}
      		]
    });
        })
       
### Layui Transfer 组件使用教程 #### 介绍 Layui 提供了一个名为 `Transfer` 的穿梭框组件,用于在两个列表之间转移选项。该组件适用于需要双向选择场景的应用程序开发。 #### 部署准备 获得 Layui 后,需将其完整地部署到项目目录(或静态资源服务器)。仅需引入如下两个核心文件即可开始使用 Transfer 组件[^3]: ```html <link rel="stylesheet" href="./layui/css/layui.css"> <script src="./layui/layui.js"></script> ``` #### 初始化配置 为了初始化并使用 Transfer 组件,可以采用以下方式加载所需模块,并创建一个基本实例: ```javascript // 加载 transfer 模块和其他可能需要用到的模块 layui.use(['transfer', 'form'], function(){ var transfer = layui.transfer; // 渲染 Transfer 实例 transfer.render({ elem: '#test1' // ID 或 class 名称, 必填项 ,data: [{value: '1', title:'option1'}, {value: '2', title:'option2'}] // 数据源数组, 必填项 ,title: ['可选区域', '已选区域'] // 左右两侧标题文字,默认 ["待选列表", "已选列表"] ,showSearch: true // 是否显示搜索框,默认 false }); }); ``` 上述代码展示了如何通过指定元素、数据源以及一些额外参数来自定义 Transfer 组件的行为和外观。 #### 参数详解 - **elem**: (必填) 定义容器的选择器字符串; - **data**: (必填) 设置初始的数据集合,通常是由 value 和 title 属性组成的对象数组; - **showSearch**: 控制是否启用顶部过滤输入框; 更多高级设置请参阅官方文档获取完整的 API 参考手册[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值