Extjs Combo赋默认值

本文介绍了ExtJS中ComboBox组件初始化设置的正确方法。通过监听store加载事件并设置默认值,确保下拉框在初次加载时能正确显示第一个选项。文章还提供了一个具体的实现示例。

1.错的例子

sexCombo.on("afterrender"function() {

    sexCombo.setValue(sexStore.getAt(0).data.code);
});
我不知道在某些情况下是否可以,但是我的combo的store是这样赋值的
   /// <summary>
        /// 查看范围的下拉框列表
        /// </summary>
        /// <returns></returns>
        public JsonResult GetScanScopeList()
        {
            List<ScanScope> scopeLst = new List<ScanScope> { new ScanScope { Id = 0, scanScope = "未完成" }, new ScanScope { Id = 1, scanScope = "已完成" }, new ScanScope { Id = 2, scanScope = "全部" } };
            return Json(scopeLst, JsonRequestBehavior.AllowGet);
        }

        /// <summary>
        /// 查看范围的下拉框数据集实体
        /// </summary>
        public class ScanScope
        {
            public int Id;
            public string scanScope;
        }

  这样的话,如果不首先手动的利用combo下拉选择一个的话,监听到的combo.getValue()就是""或者RawValue,我的是“”和“未完成”。

2.正确的做法:

  var displayField = thisobj.down('displayfield');
        var combo = thisobj.down('combobox[name=selectScanScope]');
        var scanStore = combo.getStore();
        scanStore.on('load', function () {
            combo.setValue(this.getAt(0).get('Id'));
        });
至于这些语句,因为我的combo在tbar上,所以我写在了tbar的beforerender事件中。

 

转载于:https://www.cnblogs.com/denghuachengle/p/3920525.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值