首页 > 极客资料 博客日记
layui下拉框xm-select自定义搜索使用方法
2024-10-29 18:00:05极客资料围观12次
本篇文章分享layui下拉框xm-select自定义搜索使用方法,对你有帮助的话记得收藏一下,看极客之家收获更多编程知识
xm-select介绍
始于Layui, 下拉选择框的多选解决方案
git地址:https://gitee.com/maplemei/xm-select
文档说明:https://codecp.tech/static/xm-select/#/component/options
什么情况下使用
- 下拉框的数据量比较大
- 需要支持下拉框的搜索
如何使用自定义搜索
- 引用xm-select,使用最新版本,老版本update方法无法使用
<script type="text/javascript" th:src="@{/res/js/xm-select-1.2.2.js}"></script>
- 定义下拉框的位置
<div id="demo1"></div>
- 调用reader进行渲染
let list = [];
let pageSize = 10;
if(demoSelect == null){
orgNameSelect = xmSelect.render({
el: '#demoSelect',
data: [], // 数据
paging: true, // 是否分页
pageSize: pageSize, // 每页数量
max:10, // 最多可以选的个数
// 触发监听
on: function(data){
// 监听到的数据类型包含 name,value
let arr = data.arr;
let checkIdArr = [];
let checkNameArr = [];
if(arr.length > 0){
arr.forEach((item) => {
checkIdArr.push(item.value);
checkNameArr.push(item.name);
});
$("#id").val(checkIdArr.join(","));
$("#name").val(checkNameArr.join(","));
}else{
$("#id").val("");
$("#name").val("");
}
},
// 样式
theme: {
color: '#4991E1',
},
// radio: true,// 单选
// clickClose: true,// 选中后关闭
pageRemote: true,// 是否开启远程分页
pageEmptyShow: false,// 显示空页
remoteSearch: true,// 远程搜索
// 远程搜索方法
// val: 当前搜索值, cb(arr, totalPage): 回调函数, 需要回调一个数组, 结构同data, 远程分页需要第二个参数: 总页码
// show: 下拉框显示状态, pageIndex: 分页下当前页码
remoteMethod: function(val, cb, show, pageIndex){
// 调用后台接口
$.ajax({
url: "/getList?param=111,
type: "GET",
dataType: "JSON",
success: function(resp) {
if (resp.code === SUCCESS_CODE) {
if(resp.data.total > 0){
let data = resp.data.list;
list = [];
for(let i=0; i<data.length; i++){
list.push({"name":data[i].orgName,"value":data[i].orgId});
}
// 页码
let pages = Math.ceil(resp.data.total / pageSize);
cb(list,pages);
}else{
// 初始化为空
cb([],0);
}
}
}
});
},
// 开启搜索
filterable: true,
});
}else{
console.log("更新");
// reset 会把已选中的数据清除 update方法只是更新,他们都可以重新触发一次remoteMethod
orgNameSelect.reset();
}
显示效果
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”