Extjs 如何在xtype中添加值以进行比较
请帮忙。 我正试图根据从数据库中获取的值显示xtype。 我创建了存储来从服务器端获取数据,它只接收布尔值true或false,其他什么都不接收Extjs 如何在xtype中添加值以进行比较,extjs,Extjs,请帮忙。 我正试图根据从数据库中获取的值显示xtype。 我创建了存储来从服务器端获取数据,它只接收布尔值true或false,其他什么都不接收 var hidden= Ext.create('Ext.data.Store', { fields: ['hidden'], autoLoad: true, proxy:
var hidden= Ext.create('Ext.data.Store',
{
fields: ['hidden'],
autoLoad: true,
proxy:
{
type: 'ajax',
url: 'hidden/compare',
reader:
{
type: 'json',
root: 'data'
}
}
});
这是我想要的示例,但我不知道要添加什么,而不是从商店添加值
text: 'Now you see me, now you don't',
xtype: value_from_the_store == false ? 'hidden' : 'textfield',
如果查看Ext.data.Store的文档,您将看到几个允许您访问存储中数据的函数 我不确定您要访问哪个记录,或者是否只有一个记录,但您可以使用getAt通过索引或使用getById通过ID来获取记录。您可以使用first获取第一条记录。还有几个find函数,允许您搜索特定记录 既然你说只有一张唱片,你可以先用。您还需要使用get'hidden'获取记录中的特定字段
来,你可以试试这把小提琴- 我已经在Ext5中创建了这个小提琴,但是你仍然可以在Ext4中使用它。希望这有帮助 这是分机4.2的同一把小提琴- 在小提琴中,你甚至可以不调用函数
xtype: store.getAt([0]).get('hidden')? 'hidden' : 'textfield'
从存储中获取值的另一种方法是——
store.findRecord('hidden', 'true').get('hidden')
store.findRecord'fieldName','字段值应以其开头的字符串,或针对字段进行测试的RegExp'
下面是您的API文档您使用的是哪个版本的ext?只有一条记录,这是错误的。您是否验证了您的存储实际上有任何数据?您只需修改从存储获取数据的方式。尝试时,我得到的结果是:store.getData不是函数是的,这是因为getData在ext 4中不存在。我在5中提到过,我已经用一个新的提琴为ext 4.2更新了我的答案。出于未知原因,它返回以下内容:无法读取此行getTypestore.getAt[0]中未定义的属性“get”。get“hidden”
store.findRecord('hidden', 'true').get('hidden')