裝載插件,頁面引入js後,即可向其他組件一樣直接使用:
{
layout:'form',
plain: true,
items:[{
fieldLabel:'多選下拉框',
triggerAction:'all',
id:'multselect',
name:'multselect',
xtype: 'lovcombo',
emptyText:'**請選擇**',
width:100,
mode : 'local', //設置數據已經讀取到本地了
valueField : 'value',
displayField : 'value',
store : _ptypestore
}]
}
但是這個插件有個問題,你選擇多個值以後,當你點擊頁面其他區域的時候,你所選的值會消失,文本框只有第一個值。看了下源代碼,暫時沒找到根本原因。找了個湊合用的方法。
出現bug的原因是你點擊彈出的文本域以外的任何地方,js都進行了重新賦值,所以我在對它賦值的時候加了個判斷,根據這個來判斷是否要重新賦值。如下:
在XXX.lovcombo.js文件裏,找到setValue:function(v) 方法。
將其改成setValue:function(v, index) ,然後在判斷,當index等於什麼時候進行裏面的賦值操作。
同時更改onSelect:function(record)事件爲onSelect:function(record, index),注意:當它在設值setValue時,記得要多加一個參數。
如果要調用其他方法,類似的進行更改就是了。
另外要注意的是在頁面要對文本框進行設值時,也要多加後面的index參數才行,eg:Ext.getCmp("XXX").setValue("","OK");
插件使用說明完結。---------------------但是這種方法治標不治本,只是因爲時間緊湊合着用。現在我找到更好的方法。見另一偏文章---------------------