jQuery MiniUI

标题: combobox数据问题 [打印本页]

作者: 思忆    时间: 2020-8-17 16:55:30     标题: combobox数据问题

出于业务需要,每次输入都要对数据过滤排序,并重新给combobox重新setData。
现在的问题是,第一次如果选了一行数据,第二次搜索的时候,默认选择的还是刚才那条数据,但是颜色没有变蓝,只有按了上下键才能发现,原来已经选了一条。
如图1所示


[attach]12925[/attach]



select(0)不起效果,如图2
[attach]12926[/attach]


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



作者: felt    时间: 2020-8-18 09:50:48

把你这里的处理代码都贴出来。
作者: 思忆    时间: 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事件,调用这个方法
作者: felt    时间: 2020-8-18 16:41:07

思忆 发表于 2020-8-18 09:58
filterAndSortOrder: function (str) {
                let grid = mini.get("cmbEditor");
          ...

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






欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2