请帮忙。 我试图显示一个xtype取决于我从数据库获得的值。 我创建了从我的服务器端获取数据的商店,它只接收布尔值true或false。
var hidden= Ext.create('Ext.data.Store',
{
fields: ['hidden'],
autoLoad: true,
proxy:
{
type: 'ajax',
url: 'hidden/compare',
reader:
{
type: 'json',
root: 'data'
}
}
});
以下是我想要的示例,但我不知道要添加什么来代替value_from_the_store
text: 'Now you see me, now you don't',
xtype: value_from_the_store == false ? 'hidden' : 'textfield',
答案 0 :(得分:0)
如果查看Ext.data.Store
的文档,您会看到几个允许您访问商店中数据的函数。
我不确定您要访问哪条记录,或者只有一条记录,但您可以使用getAt
按索引获取记录,或使用getById
按ID获取记录。您可以使用first
获取第一条记录。还有几个find
函数,允许您搜索特定记录。
由于您说只有一条记录,您可以使用first
。您还需要使用get('hidden')
获取记录中的特定字段。
xtype: hidden.first().get('hidden') ? 'hidden' : 'textfield',
答案 1 :(得分:0)
在这里,你可以试试这个小提琴 - https://fiddle.sencha.com/#fiddle/lho
我在Ext 5中创造了这个小提琴,但你仍然可以让它在4中工作。希望这会有所帮助。
这是Ext 4.2的同一个小提琴 - https://fiddle.sencha.com/#fiddle/lji
在小提琴中,你甚至可以这样做 - 而不是调用这个函数 -
xtype: store.getAt([0]).get('hidden')? 'hidden' : 'textfield'
从商店获取价值的另一种方法是 -
store.findRecord('hidden', 'true').get('hidden')
store.findRecord(' fieldName','字段值应以字符串开头的字符串,或者用于测试字段的RegExp。')强>
这是您的link到API文档