xm-select.js的远程搜索多选模式返回格式的问题

首先提供xm-select的开源下载地址 : xm-select: 基于Layui, 下拉选择框的多选解决方案 - Gitee.com

官网文档地址xm-select (gitee.io)

xm-select多选框官方接收的数据格式:

{name: '水果' + val, value: val + 1},
{name: '蔬菜' + val, value: val + 2, selected: true},
{name: '桌子' + val, value: val + 3},
{name: '北京' + val, value: val + 4},

以下远程搜索多选框代码中,get请求我是直接返回上面的格式,但是一直报错:

TypeError Cannot read properties of undefined (reading 'filter')

后访问官网接口url返回值发现返回值格式与layui相同,因此改成 { "code": 0, "msg": "success",  "data": []}返回值格式即可解决

以下保存到本地xx.html,即可直接运行(layui文件夹与xm-select.js需在html文件同级目录)


<link rel="stylesheet" href="layui/css/layui.css" media="all">
<script src="layui/layui.js" charset="utf-8"></script>
<script src="xm-select.js" charset="utf-8"></script>
<div id="demo1"></div>

<script>
	var $ = layui.$;
	 var demo1 = xmSelect.render({
            el: '#demo1',
            autoRow: true,
            tips: '搜索部品名或部品号',
            toolbar: { show: true },
            filterable: true,
            remoteSearch: true,
            remoteMethod: function(val, cb, show){
                if(!val){//这里如果val为空, 则不触发搜索
                    return cb([]);
                }else{
                     $.get('/supplies/getXmSelectByCodeOrName?itemNane='+val, function(res) { //res必须返回 { "code": 0, "msg": "success",  "data": []}格式,否则会报 :TypeError Cannot read properties of undefined (reading 'filter')
                        cb(res.data);
                         layer.msg('搜索完毕, 搜索关键词:'+val+', 查询结果: '+res.data.length+' 条', {time: 2000,icon: 1});
                    })
                }
            },
            data: []
	    })
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

往事不堪回首..

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值