设置默认选中

我继承了一个使用ExtJS的应用程序,并且对它的约定比较陌生。

我有一个时间输入的选择框,默认为一个时间传入。是否可以设置selected =选择它默认的值? 目前显示的是默认时间,但是当你点击该框时,选项列表默认为第一个值(所以如果默认时间是下午2点,当你点击选择另一个时间时,你将被带到上午12点而不是下午2点)。

代码:

{
            xtype: 'timefield',
            id: 'timeselect',
            name: 'starttime',
            fieldLabel: 'Start Time',
            labelWidth: 80,
            labelAlign: 'right',
            width: 160,
            minValue: '12:00 AM',
            maxValue: '11:55 PM',
            value: MyApp.config.AppConfig.time, //Current time rounded to hour
            increment: 15
        },

谢谢!

编辑:澄清。 选择框显示页面加载时的正确时间。 但是,当用户点击选择时,它们被带到选项列表的开始处(在这种情况下,上午12:00)。 我希望将选项列表默认设置为所选时间(类似于)。 谢谢!

编辑#2:应用程序使用v4.0.7


解决方案很简单,然后:升级您的版本的分机! 不那么简单? 在此期间修补它。 我必须承认,我试图将Ext.form.field.Time的v4.2代码复制到小提琴中。 这没有用。 这是一个更清洁的方法:

Ext.define('Ext.ux.fix.Ext.form.field.Time.CurrentSelectionOnExpand', {
    override: 'Ext.form.field.Time'

    ,initComponent: function() {
        this.callParent();
        this.on({
            scope: this
            ,delay: 1 // let render
            ,expand: function() {
                this.highlightCurrent();
            } 
        });
    }

    // copied from Ext.view.BoundListKeyNav.method#highlightAt()
    ,highlightCurrent: function() {
        var me = this,
            picker = me.picker,
            index = picker.store.find('disp', me.getRawValue()),
            item = picker.all.item(index)
        if (item) {
            item = item.dom;
            picker.highlightItem(item);
            picker.getTargetEl().scrollChildIntoView(item, false);
        }
    }
});
链接地址: http://www.djcxy.com/p/88095.html

上一篇: set default selected

下一篇: preselect select field with freemarker