基于配置文件设置Extjs bufferedstore的pageSize

i2loujxw  于 2022-09-26  发布在  其他
关注(0)|答案(1)|浏览(266)

我有一个Extjs缓冲存储,如下所示:

Ext.define('myStore', {
extend: 'Ext.data.BufferedStore',

requires: [
    'myStoremodel' // model that the store takes in 
],

storeId: 'myTeststore',

model: 'myStoremodel',

remoteSort: true,
buffered: true,
leadingBufferZone: 2,
trailingBufferZone: 2,
pageSize: 10,
proxy: {
    type: 'ajax',
    url: "/fetch/getNameList" // the API which returns data to load,
    timeout: 5 * 60 * 1000,
    reader: {
        rootProperty: 'data.name',
        totalProperty: 'data.recordSize'
    },
    simpleSortMode: true
}
});

我正在寻找pageSize变量(根据配置文件中的更改更改大小)。如何从外部配置文件读取值?如何实现这一目标?

6fe3ivhb

6fe3ivhb1#

为了给您提供一个非常基本但可能的解决方案,您可以创建一个API来获取前端默认配置(如ExtJs商店的pageSize)。
然后,在打开Web应用程序时,作为第一步,您可以对该api进行单个调用,并将结果保存到您喜欢的位置(窗口对象、cookie…)。
具有如下响应的对象并将其保存在窗口静态变量中的图像:

window.myFrontEndConfigs = {
    pageSize: 20
};

因此,在您的店铺定义中,您可以使用如下内容:

Ext.define('myStore', {
    extend: 'Ext.data.BufferedStore',
    ...
    pageSize: window.myFrontEndConfigs.pageSize
    ...
}

我重复一遍,这是一个相当“石器时代”的解决方案,但对前端/后端的信息知之甚少甚至一无所知,这让我的选择余地很小。。。

  • -编辑-*

没有什么可以阻止您只使用一个新的js文件来专门包含一个返回配置的函数。只需将其添加到您的页面上,即可启动、完成、加载并可用配置。只是我喜欢在我的后端配置,因为我不知道将来是否需要基于用户、组、,。。。

我的配置.js

function myFrontEndConfigs() {
    return {
        pageSize: 20
    };
}

然后在您的店铺中:

Ext.define('myStore', {
    extend: 'Ext.data.BufferedStore',
    ...
    pageSize: myFrontEndConfigs().pageSize
    ...
}

相关问题