在Ext.window.Window中,我使用一个组合框,该组合框以树结构显示条目:
Ext.define('BookApp.view.BookEdit', {
extend: 'Ext.window.Window',
alias: 'widget.bookwindowedit',
width : 450,
height : 450,
title: 'BookEdit',
layout: 'fit',
autoShow: true,
modal : true,
initComponent: function() {
this.items = [{
xtype: 'form',
items: [
{
xtype: 'combobox',
fieldLabel: 'Место хранения',
name: 'mesto_hraneniya',
value: '',
createPicker: function() {
var me = this;
var store = Ext.data.StoreManager.get('StorageStore');
var picker = new Ext.tree.Panel({
store: store,
pickerField: me,
rootVisible: false,
floating: true,
hidden: true,
listeners:
{
itemclick: function(view, record, item, index, e, eOpts)
{
var id = record.data.id;
var text = record.data.text;
me.setValue(text);
me.collapse();
}
}
});
me.mon(picker, {
afteritemexpand: me.alignPicker,
afteritemcollapse: me.alignPicker,
scope: me
});
return picker;
}
},
第一次单击时,一切都很好,将打开一棵树以选择一个值,单击时,我会在组合框中设置该值。 再次单击组合框时不出现值,并且控制台错误:
TypeError:me.getPicker(...)。refresh不是函数
如何解决该问题?在哪里可以找到有关createPicker方法的更多信息? 该文档很少写。