jQuery MiniUI

 找回密码
 立即注册
查看: 2548|回复: 3
打印 上一主题 下一主题

combobox数据问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2020-8-17 16:55:30 |只看该作者 |倒序浏览
出于业务需要,每次输入都要对数据过滤排序,并重新给combobox重新setData。
现在的问题是,第一次如果选了一行数据,第二次搜索的时候,默认选择的还是刚才那条数据,但是颜色没有变蓝,只有按了上下键才能发现,原来已经选了一条。
如图1所示






select(0)不起效果,如图2



有没有办法,每次setData后,默认选第一条。


附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2020-8-18 09:50:48 |只看该作者
把你这里的处理代码都贴出来。

Rank: 3Rank: 3

板凳
发表于 2020-8-18 09:58:40 |只看该作者
    filterAndSortOrder: function (str) {
                let grid = mini.get("cmbEditor");
                if (str) {
                    let data = _orderDataSource;
                    let fn = function () {
                        //排序的方法
                    }
                    let result = data.filter(a => {
                        let search = a.inputcode1 + a.name + a.inputcode2;
                        return search.indexOf(str.toUpperCase()) >= 0;
                    })
                    result.sort(fn());
                    grid.setData(result);
                    grid.setText(str);
                } else {
                    grid.setData(_orderDataSource);
                    grid.setValue(null);
                }
                window.cmbEditText = str;
            }

绑定keyup事件,调用这个方法

Rank: 8Rank: 8

地板
发表于 2020-8-18 16:41:07 |只看该作者
思忆 发表于 2020-8-18 09:58
filterAndSortOrder: function (str) {
                let grid = mini.get("cmbEditor");
          ...

我测试setData之后select(0)是可以选中的。
只是我的测试示例,可以基于这个例子模拟出你的问题再发上来

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Archiver|普加软件

GMT+8, 2024-9-28 12:21 , Processed in 1.033117 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部