gpt4 book ai didi

javascript - 在商店 Ext Js 中制作过滤器

转载 作者:行者123 更新时间:2023-12-02 22:42:23 26 4
gpt4 key购买 nike

我需要在商店中创建一个过滤器,以便只有在我的组合框中才会出现 main_type 等于 0 的值。

这是我的 Ext Js 组件:

            {
xtype: 'combobox',
name: 'main_sector',
fieldLabel: 'Principal',
displayField: 'name',
valueField: 'id',
labelAlign: 'top',
margin: { left: 3},
store: 'company.EconomicActivity',
inputWidth: 120,
editable: true,
queryMode: 'local',
id: "main_sector_combo",
disabled: true
}

这里有我的后端 Controller ,我在其中执行过滤条件:

protected function _filterConditions($property, $value, $table, $adp) {
switch ($property) {
case 'id':
return $adp->quoteInto('id = ?', (int)$value);
break;
case 'owner_id':
return $adp->quoteInto('owner_id = ? OR owner_id is null', (int)$value);
break;
case 'number':
return $adp->quoteInto('number = ?', (int)$value);
break;
case 'name':
return $adp->quoteInto('name ILIKE ?', '%' . $value . '%');
break;
}
return null;
}

这里有我的前端 Controller ,我在其中制作过滤器:

        var sectorStore = Ext.getStore('company.EconomicActivity');

sectorStore.clearFilter(true);

var filters = [
{ id : 'number', property : "number", value : 0}
];

sectorStore.load({
filters: filters,
scope: this,
});

这是我的商店:

Ext.define('S1.store.company.EconomicActivity', {
extend: 'Ext.data.Store',
autoLoad: true,
model: 'S1.model.company.EconomicActivity',
proxy: 'companyeconomicactivity',
storeId: 'companyeconomicactivity',
pageSize: 40,
remoteFilter: true,
remoteSort: true,
remoteGroup: true,
sorters: [
{
property: 'main_sector',
direction: 'ASC'
}
]
});

但它不起作用,有人有什么想法吗?

最佳答案

Store 的加载方法不接受filters 配置。使用 filter 方法代替:

    sectorStore.filter(filters);

关于javascript - 在商店 Ext Js 中制作过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58540501/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com