У меня есть этот объект (который является выпадающим списком с хранилищем массивов):
Ext.create('Ext.data.Store', {
storeId: 'votationStore',
fields:[ 'id', 'eligible_for_voting'],
data: [
{ id: 1, eligible_for_voting: true },
{ id: 2, eligible_for_voting: false },
{ id: 3, eligible_for_voting: false },
{ id: 4, eligible_for_voting: false }
]
});
Ext.create('Ext.grid.Panel', {
title: 'Grid',
store: Ext.data.StoreManager.lookup('votationStore'),
columns: [
{ text: 'Number', dataIndex: 'id' },
{
text: 'Can be voted?',
renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
return value?'Yes':'No';
},
dataIndex: 'eligible_for_voting',
flex: 1,
editor: {
xtype: 'combobox',
displayField: 'id',
displayTpl: [
'<tpl for=".">',
' <tpl if="values">',
' Yes',
' <tpl else>',
' No',
' </tpl>',
' </tpl>'
],
store: [
true,
false
],
valueField: 'id'
}
}
],
plugins: [
{
ptype: 'cellediting',
clicksToEdit: 1
}
],
height: 200,
width: 400,
renderTo: Ext.getBody()
});
Как вы можете видеть выше, я пытаюсь получить прямой доступ к значению, выбранному в магазине, несмотря на ключref.
Код шаблона:
<tpl for=".">
<tpl if="values">
Yes
<tpl else>
No
</tpl>
</tpl>
Обычно я знаю, если у вас есть структурированный объект, который вы можете использовать, если = {name_object}
Но что если выхотите получить доступ к объекту напрямую и к хранилищу как к простому массиву без ключей?
Дополнительная информация: также я использую Sencha Architect с версией 6.60.
https://fiddle.sencha.com/#view/editor&fiddle/2vk1
Интеграция: Я пытаюсь добиться того, чтобы изменить отображаемый текст в соответствии с тем, что я выбрал в выпадающем списке, используя шаблон displayTpl
.
Из того, что я прочитал в документации,использование <tpl for=".">
позволяет мне получить прямой доступ к значению контекста и создать указатель в шаблоне.С <tpl if="values">
я пытаюсь получить доступ к value
через for = "."и получить к нему доступ, просто чтобы убедиться, что это правда или ложь.
Я хотел сделать это без определения полей или доступа к ним по привязке, но напрямую без какой-либо ссылки, такой как {votation.id}
или чего-то подобного, на случай, если яопределили верхний объект.
Возможно ли это?