Extjs 4.2.1滚动到组合下拉列表中的选择

Extjs 4.2.1 Scroll to selection in combo drop down list

本文关键字:下拉列表 选择 组合 滚动 Extjs      更新时间:2023-09-26

在extjs 4.2.1中,combobox存在一些问题。当下拉列表出现时,我需要滚动到选定的值,而不仅仅是突出显示它。所以,如果选定的值在底部,滚动仍然在顶部。这是我的代码:

Ext.define('FpoApp.store.exams.Courses', {
    extend: 'Ext.data.Store',
    model: 'FpoApp.model.Idname',
    proxy: {
        type: 'ajax',
        url: 'php/exams/getCourses.php',
        reader: {
            type: 'json',
            root: 'rows'
        }
    },
    autoLoad: true
});
Ext.create('Ext.form.field.ComboBox', {
    queryMode: 'local',
    editable: false,
    valueField: 'id',
    displayField: 'name',   
    store: 'exams.Courses' 
});

此外,它似乎可以在extjs 3.4.0中工作。刚刚找到了一个例子,它完美地工作,正如我所需要的。下面是一个例子。看起来像基本的组合框,没什么特别的。不知道4.2.1出了什么问题。是的,我使用的是mvc。

这似乎是Ext JS 4.2.1版本中的一个错误。在Ext JS 4.2.0版本和最新的Ext JS 4.2.2版本中,行为与Ext js 3.4.0 相同

我在使用Ext的4.2.0组合框时遇到了类似的问题。原来是我在异步加载数据后在数据存储中调用clearFilter()导致了这个问题。删除此方法调用修复了我的问题:

myComboBox.store.clearFilter()

http://docs.sencha.com/extjs/4.2.0/#/api/Ext.data.Store-方法过滤器

因此,这并不是你问题的直接答案,但这个故事的寓意是要像你的ComboBox一样仔细地查看你的Data.Store。这会让我省去几个小时的头撞墙:)