Ext中使用提取的公用Store

2021-09-06 06:53:39 字數 1505 閱讀 2489

一、頁面有太多的store

使用ext中,combo下拉框是常用的元素,一般情況下,每個combo都對應有store為其載入下拉資料。

如果這些store都顯示地宣告、定義在用例的js指令碼中,這樣指令碼顯得有點亂。

一般情況下,store需要載入的下拉資料都存放在資料庫共同的字典表中,store需要通過後台方法取得字典資料轉換為record。

可見,combo的store所要做的動作都基本一致,所以看到有人寫乙個生成store的公用方法,我覺得這樣做挺好的,既規範了取字典下拉資料的流程(避免每個開發人員各寫一套),也避免了乙個頁面宣告十幾個store,令指令碼非常臃腫。

二、公用方法返回store

此方法返回乙個store,此store已指定對應的後台方法取得下拉資料,只需開發人員傳入下拉字典的code就行。

/*

* * 下拉框資料來源,從公用字典表取數

* @param {} code 字典編碼(data_code)

* @return {} 字典項store */

ext.ui.diccomboxstore = function

(code) ),

reader :

newext.data.jsonreader(),

autoload :

}});

}

如果需要使用store的callback函式(即保證store已成功載入完資料),就重新呼叫一次load方法,這樣store重新從資料來源獲取資料。這樣做的話,這個store就需要載入兩次,如果資料量很小倒無所謂,如果資料較大就不好了,這樣做還有個不好的地方,就是如果reload方法和load方法幾乎同時執行,而且重疊了,出現了覆蓋的情況,會導致load的callback不呼叫(我有一次用這樣的方法構造store,然後再onready方法中執行load方法,結果該callbak函式偶爾不呼叫)。

三、公用方法返回不自動執行的store

在頁面中經常碰到store未載入完成就使用setvalue方法為其設定值,由於store尚未載入完,故無法自動轉換顯示字面值。這時,我們需要乙個還沒有load的store,因為我們需要callback函式。

/*

* * 下拉框資料來源,從公用字典表取數

* @param {} code 字典編碼(data_code)

* @param {} autoloadflag 是否自動load

* @return {} */

ext.ui.diccomboxstore = function

(code, autoloadflag) ),

reader :

newext.data.jsonreader(),

listeners : }},

autoload : (autoloadflag === false ? false : true

) })

};

Ext中使用提取的公用Store

一 頁面有太多的store 使用ext中,combo下拉框是常用的元素,一般情況下,每個combo都對應有store為其載入下拉資料。如果這些store都顯示地宣告 定義在用例的js指令碼中,這樣指令碼顯得有點亂。一般情況下,store需要載入的下拉資料都存放在資料庫共同的字典表中,store需要通...

thymeleaf中使用layui(公用部分提取)

layui已經提供了一整套的ui布局及相關元件,並且有相當完善的api文件,本文重點在於thymeleaf中如何使用layui,包括公用部分的提取,而非簡單的layui的用法。先上兩個效果圖 列表.png 表單.png 1.像傳統的一樣建檔案頭和尾 但是又和傳統的寫法不同,見下面 2.定義公用js ...

ext 關於彈出樹的公用方法

彈出框的主要 param cid 一般為隱藏表單 用於存放樹id資訊 param ccode 一般為隱藏表單 存放code資訊 param cname 是頁面呼叫的控制項用於顯示樹的text param url 得到樹的action方法 位址 param title 傳入要顯示的標題 show tr...