xmselect重新渲染_Layui使用总结及多选方案Xm-select
一,Layui使用
1.基础说明
加载所需模块:layui 的内置模块并非默认就加载的,他必须在你执行该方法后才会加载
layui.use(['form', 'laydate'], function(){
var form= layui.form
,laydate= layui.laydate;
//do something
});
本地存储:对 localStorage 和 sessionStorage 的友好封装,可更方便地管理本地数据。
localStorage 持久化存储:layui.data(table, settings),数据会永久存在,除非物理删除。
sessionStorage 会话性存储:layui.sessionData(table, settings),页面关闭后即失效。注:layui 2.2.5 新增
//本地存储存入:参数1.调用的值 2.所要存入的数据
//【增】:向 remind_obj 表插入一个 字符串 字段,如果该表不存在,则自动建立。
var obj = {
workId: workId,//工作类型
workName: $('#workId').attr('data-name'),
typeId: typeId,//2级类型
taskTypeName: $('#typeId').attr('data-name'),//2级类型
};
localStorage.setItem("remind_obj", JSON.stringify(obj));
//【查】:向 remind_obj 表读取全部的数据
var localTest = localStorage.getItem("remind_obj");
//!$.isEmptyObject()如果不是空对象”{}“
if (localTest!=null && !$.isEmptyObject(localTest)) {
var obj = JSON.parse(localTest);
//提醒类型
$('#workId').attr( 'data-val', obj.workId );
$('#workId').val( obj.workName );
$('#typeId').attr( 'data-val', obj.typeId );
$('#typeId').val( obj.taskTypeName );
}
2.laydate
//常规用法
laydate.render({
elem: '#dayDate'
,trigger: 'click'
});
//同时绑定多个
lay('.test-item').each(function(){
laydate.render({
elem: this
,trigger: 'click'
,type: 'time'
});
});
3.Layui上传大文件游览器巨慢或者崩溃问题
4.扩展一个模块并使用
/**
mysample.js里扩展一个sample2模块
**/
layui.define(function(exports){
//todoing
//输出sample2接口
exports('sample2', {});
});
// 在homepage2.html里使用sample2模块
layui.config({
base: '../../layuiadmin/' //你存模块的目录,默认是module下
}).extend({//设定扩展模块所在的目录
index: 'lib/index' //相对于上述 base目录,同理以下相对于本目录
,sample2: '../../views/home/mysample' //加载mysample.js
}).use(['index', 'sample2']); //使用sample2模块
图例:
二,Xm-select
参考:Xm-select官网
始于 layui 的一个多选解决方案。前身 formSelects, 由于渲染速度慢, 代码冗余, 被放弃了
1.普通多选形式
//多选下拉框渲染对象
var dataTypes = null;
dataTypes = xmSelect.render({
el: '#dataTypes',
language: 'zn',
//工具栏
toolbar: {
show: true
},
filterable: true,//过滤搜索
paging: true,//分页
pageSize: 10,//每页条数
height: '500px',
//autoRow: true,//自动换行
data: arr
})
//获取value字符串逗号分割
var valueStr = dataTypes.getValue('valueStr');
//给多选赋值(value方式)
dataTypes.setValue( [ 1,2 ] );
//搜索input框失去焦点模拟:选择完毕关闭监听
$dataTypes = $('#dataTypes')
$dataTypes.on('blur', '.xm-search-input', function() {
//hasClass() 方法检查被选元素是否包含指定的 class。
setTimeout(() => {
if($dataTypes.find('.xm-body').hasClass('dis')) {
var valueStr = dataTypes.getValue('valueStr');
console.log(valueStr);
}
}, 300);
});
1.1 搜索input框失去焦点事件:模拟选择完毕关闭监听
//搜索input框失去焦点模拟:选择完毕关闭监听
$dataTypes = $('#xmDataTypes')
$dataTypes.on('blur', '.xm-search-input', function() {
//hasClass() 方法检查被选元素是否包含指定的 class
setTimeout(() => {
if($dataTypes.find('.xm-body').hasClass('dis')) {
//todo
}
}, 300);
});
2.拓展下拉树
赋值与取值与普通多选一致
//多选下拉框渲染对象
var run_class_users = null;
//加载下拉框数据: 执行用户
$.get(ajaxPath+"action/share/getUserToSelect"
,function(data){
run_class_users = xmSelect.render({
el: '#run_class_users',
toolbar: {
show: true,//是否展示工具条
},
direction: 'down',
autoRow: true,
filterable: true,
tree: {
//是否显示树状结构
show: true,
//是否展示三角图标
showFolderIcon: true,
//是否显示虚线
showLine: false,
//间距
indent: 20,
//默认展开节点的数组,默认展开新东盛8006
expandedKeys: [8006],
//是否严格遵守父子模式
strict: true,
},
filterable: true,
height: 'auto',
data(){
return data.treeDate//返回数据遵循官网指定结构
}
})
});
xmselect重新渲染_Layui使用总结及多选方案Xm-select相关推荐
- layui循环数据并渲染_layui使用表格渲染获取行数据的例子
需求:使用前端框架layui生成表格,点击表格中一行数据中的按钮,获取到这行数据. 解决办法: 在render中增加字段: done: function (res, curr, count) { // ...
- layui父页面调用子页面的渲染_layui的iframe父子操作方法
iframe父子属性调用 一.访问主页面属性 var parentId=parent.$("#id").val();//访问父页面元素值 二.访问父页面方法 var parentM ...
- layui父页面调用子页面的渲染_layUI ajax加载html页面后重新渲染的方法
相关问题同: 1.layUI使用jquery.load加载界面时,如何让layui渲染页面? 2.layUI ajax加载html页面后重新渲染 layUI ajax加载html页面后渲染,关键在将h ...
- layui 自动渲染_Layui表格自动渲染
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用.其外在极 ...
- layui 自动渲染_layui怎么重新渲染
layui重新渲染的方法:首先通过layUI ajax加载html页面:然后将html插到指定位置后重新调用"element.init();"渲染即可. layUI ajax加载h ...
- android webview卡顿检测_Android webview隐藏后跳转新页面input输入卡顿与白屏渲染慢的问题说明及修复方案...
关于此问题的说明: Android System WebView 内核的bug:当webview页面中存在持续渲染(如跑马灯效果.banner轮播等).页面被隐藏后会导致JS阻塞影响页面渲染效率.从6 ...
- 渲染3d代理文件出现服务器选框,是什么意思?3DMax一渲染就出现这个框框 – 手机爱问...
2014-04-11 3DMAX渲染时无法找到场景的外部参 3dsmax如果加载或渲染带有外部参照的场景,但是找不到外部参照对象或场景的原始指定路径,或如果外部参照对象的名称与源文件中的对象名称不匹配 ...
- layui table勾选框的修改_layui怎么设置checkbox勾选
方法1 在返回的json中设置LAY_CHECKED为true,页面上的checkbox就是选中状态了.data":[ {"name":"北京市",& ...
- layui 勾选不联动父项 树形控件_layui树形组件重现勾选过程的办法
layui提供了两种初始化节点选中状态的方式 一 tree.setChecked('demoId', [2,13,18,19]); //批量勾选 id 为2,13,18,19 的节点 其中19是用户真 ...
最新文章
- gcc/g++添加头文件目录和库文件目录
- CentOS4 可用镜像及更新方式
- 【ssh从零单排】关于HTTP Status 404的debug问题
- 黄聪:WordPress判断当前用户是否为管理员登录
- golang 切片 接口_Golang语言常用关键字之 make 和 new
- 【C语言】用C语言输出“心形”图案
- vim 批量替换字符串_vim批量替换,效率就是高。附常用批量替换命令
- 2022-2027年中国植物染料行业市场全景评估及发展战略规划报告
- Python —— 第一部分 序列
- 16岁的雅虎问答,因“不再受欢迎”将永久关闭
- 如何降低开关电源空载损耗
- 使用 requireJS 的shim参数 解决插件jequery 插件问题
- 跨境电商收款之派安盈Payoneer个人账号收款教程
- 神箭手 爬虫操作(1)
- 苹果手机使用说明书_苹果手机11个使用小技巧
- BODIPY-TR氟化硼二吡咯偶联神经酰胺/炔烃/氨基/羧基等活性基团
- 竞争情报分析工具Alexa
- 【一文搞懂】linux无界面模式安装chrome和chromedriver
- git撤销操作(git后悔药)
- 高分子材料S阻燃剂的分类及参考配方
热门文章
- w7旗舰版计算机替换,win7系统电脑替换全部系统图标的操作方法
- php+mysql案例含源码_【专注】Zabbix源码安装教程—步骤详解(1)安装前准备
- python自增_关于 python 的自增运算
- python中return返回值为函数名_Python函数返回值
- sublime4 安装pretty json 并绑定快捷键
- CentOS7 minimal 安装
- 用 Python 做数据处理必看:12 个使效率倍增的 Pandas 技巧(下)
- java 实现 web 客户端_Java web客户端和服务器端交互的原理
- 阻止地图的放大和缩小_Arcgis画地图详细步骤(真的!!)
- 在oracle中如何复制用户的权限不够,linux 普通用户下 移动或复制一个zip文件权限不够怎么办...