如何将 Store 中的参数传递到 Web api

How to pass parameter in Store to web api

我们如何在商店中传递参数。我是 ExtJs 的新手,请推荐我。

 xtype: 'grid',
store: {
type: 'webapi',
//extraParams: {
    //ID: 20
//},
 //Params: {
   //ID: 20
//},
api: {
    read: 'api/Report/GetInfo'
},
autoLoad: true,
},
columns: [
{ header: 'All', xtype: 'checkcolumn', dataIndex: 'flag', width: '10%' },
{ header: 'Code', dataIndex: 'code', width: '15%' },
{ header: 'Name', dataIndex: 'name', width: '15%' },    
{ header: 'State', dataIndex: 'state', width: '15%' }   
],

尝试使用 ParamsextraPrams 但没有成功。

这样检查:

xtype     : 'grid',
store     : {
    type    : 'webapi',
    proxy   : {
        type       : "ajax",
        extraParams: {
            ID: 20
        }
    },
    api     : {
        read: 'api/Report/GetInfo'
    },
    autoLoad: true
}

或者您可以在 initComponent() 函数中的网格中添加额外的参数:

initComponent: function(){
    var me = this,
        myId = 20;
    me.callParent(arguments);       
    var    store = me.getStore();
    store.getProxy().extraParams = {
        ID:myId
    }
}

试试这个应该有用

Ext.create('Ext.data.Store', {
        ...
    proxy : {

            type : 'ajax',
            url : 'url',
            reader : {
                rootProperty : 'data',
            }
        },
        listeners:{
            beforeload: function(store){
         Ext.apply(this.proxy.extraParams, {
                    "ID" : 20
                });
            }
        },