我想实现一种 fieldLabel 值来自商店的情况。 Store具有我需要的值,但是我不知道如何将这些值设置为fieldLabel。
假设我有一些障碍:
items: [{
name: 'someName',
fieldLabel: 'someFieldLabel'
}]
名称字段中的someName 来自商店并且可以正常工作。
存储区中存在fieldLabel字段中的someFieldLabel 值,但实际上显示的是'someFieldLabel',而不是存储区中的值。
有人建议如何使用商店中的值动态地进行此工作吗?
答案 0 :(得分:0)
items: [{
itemId: 'someField'
name: 'someName',
fieldLabel: 'someFieldLabel'
}];
商店加载功能
var somefield = Ext.ComponentQuery.query('field[itemId=someField]');
somefield[0].setFieldLabel('dynamic_field_label');
答案 1 :(得分:0)
下面是关于如何动态更改fieldLabel的代码。
Ext.application({
name : 'Fiddle',
launch : function() {
Ext.create('Ext.panel.Panel', {
title: 'Dynamic Set Field Label',
layout: 'vbox',
renderTo: Ext.getBody(),
items: [{
xtype: 'textfield',
itemId: 'lblItem',
fieldLabel: 'Testing',
margin: '0 0 20 0'
}, {
xtype: 'button',
text: 'Set Field Label',
handler: function (btn) {
// alert('button presssed');
Ext.ComponentQuery.query('#lblItem')[0].setFieldLabel('New Label');
}
}]
})
}
});
您可以看到它在here下工作。
注意:使用Ext.ComponentQuery它将返回满足查询要求的对象数组。您需要指定索引以获得单个对象。
store.load({
callback: function (records) {
Ext.ComponentQuery.query('#lblItem')
}
})