Estjs combobox多级联动 去除第一次加载所有都读取的问题

本文介绍了如何解决Extjs中Combobox在初次加载时获取所有数据的问题。通过在组件创建时预设过滤条件,并在聚焦时动态更新过滤规则,实现了多级联动效果,有效优化了用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在界面上创建时,先过滤掉数据

var cityStore=Ext.create('Tpshop.store.member.ComboSupplierCity');   

            cityStore.on("load",function(store,records,options){
                 store.filterBy(function(record,id){
                    return record.get('parent_id') == Ext.getCmp('edit-supplier-form-province').value;
                 });
            });
            var areaStore=Ext.create('Tpshop.store.member.ComboSupplierArea'); 
            areaStore.on("load",function(store,records,options){
                 store.filterBy(function(record,id){
                     return record.get('parent_id') == Ext.getCmp('edit-supplier-form-city').value;
                 });

            });

bombobox创建 

xtype     : 'combobox',
                        id:'edit-supplier-form-city',
                        typeAhead: true,
                        triggerAction: 'all',
                        queryMode: 'remote',
                        displayField: 'name',
                        valueField: 'area_id',
                        selectOnTab: true,
                        store:cityStore,
                        editable: false,
                        hidden:true,
                        width:100,
                        listeners:{
                        focus:function(combo, record,index){
                            var province_id=Ext.getCmp('edit-supplier-form-province').value;
                            cityStore.clearFilter();
                            cityStore.filterBy(function(record){
                                return record.get('parent_id') == province_id;
                            });
                        },
                        select:function(){
                            Ext.getCmp('edit-supplier-form-area').setVisible(true);
                            Ext.getCmp('edit-supplier-form-area').clearValue();
                        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值