使用 if else 选择 x 类型
Chossing xtype using if else
我正在尝试 extjs 中的新事物,我想根据从数据库发送的值来选择 xtype。该值为布尔值。因此,当它为假时,我希望隐藏 xtype,当它为真时,我希望它是按钮。
像这样:
if (valuefield == false){
xtype: 'hidden'
}
else{
xtype: 'button'
}
我知道值字段包含false或true,但是当添加if else时弹出错误,如何使其与if else语句一起使用??
这是我的代码:
文字:'Admin',
xtype: 'button',
href: 'admin',
hrefTarget: '_self',
queryMode : 'local',
valueField: 'admin',
store: Ext.create('Ext.data.Store',
{
fields: ['admin'],
autoLoad: true,
proxy:
{
type: 'ajax',
url: 'admin/premision',
reader:
{
type: 'json',
root: 'data'
}
}
如果满足以下条件,您应该可以使用内联:
xtype: valueField ? 'button' : 'hidden'
尽管设置隐藏的 属性 可能更可取:
xtype: 'button',
hidden: valueField ? false : true
希望这个 fiddle 能给你一些想法 - https://fiddle.sencha.com/#fiddle/lho
Ext.application({
name : 'Test Dynamic Xtype',
launch : function() {
Ext.define('HiddenModel',{
extend: 'Ext.data.Model',
fields: [
'hidden', Boolean
]
});
// create the Data Store - This is a memory store
var store = Ext.create('Ext.data.Store', {
model: 'HiddenModel',
//autoLoad: true,
data:[{'hidden': false}]
});
// function that returns the xtype as string based on hidden: true| false
var type = function getType(hidden){
if(hidden)
return 'textarea'
else
return 'textfield'
}
Ext.create('Ext.form.FormPanel', {
title : 'Test Item Click',
width : 400,
bodyPadding: 10,
renderTo : Ext.getBody(),
items: [{
xtype: type(store.getData().items[0].data.hidden), //
text: 'My Field',
name: 'My Field',
value:'Hello'
}]
});
}
});
我正在尝试 extjs 中的新事物,我想根据从数据库发送的值来选择 xtype。该值为布尔值。因此,当它为假时,我希望隐藏 xtype,当它为真时,我希望它是按钮。
像这样:
if (valuefield == false){
xtype: 'hidden'
}
else{
xtype: 'button'
}
我知道值字段包含false或true,但是当添加if else时弹出错误,如何使其与if else语句一起使用??
这是我的代码:
文字:'Admin',
xtype: 'button',
href: 'admin',
hrefTarget: '_self',
queryMode : 'local',
valueField: 'admin',
store: Ext.create('Ext.data.Store',
{
fields: ['admin'],
autoLoad: true,
proxy:
{
type: 'ajax',
url: 'admin/premision',
reader:
{
type: 'json',
root: 'data'
}
}
如果满足以下条件,您应该可以使用内联:
xtype: valueField ? 'button' : 'hidden'
尽管设置隐藏的 属性 可能更可取:
xtype: 'button',
hidden: valueField ? false : true
希望这个 fiddle 能给你一些想法 - https://fiddle.sencha.com/#fiddle/lho
Ext.application({
name : 'Test Dynamic Xtype',
launch : function() {
Ext.define('HiddenModel',{
extend: 'Ext.data.Model',
fields: [
'hidden', Boolean
]
});
// create the Data Store - This is a memory store
var store = Ext.create('Ext.data.Store', {
model: 'HiddenModel',
//autoLoad: true,
data:[{'hidden': false}]
});
// function that returns the xtype as string based on hidden: true| false
var type = function getType(hidden){
if(hidden)
return 'textarea'
else
return 'textfield'
}
Ext.create('Ext.form.FormPanel', {
title : 'Test Item Click',
width : 400,
bodyPadding: 10,
renderTo : Ext.getBody(),
items: [{
xtype: type(store.getData().items[0].data.hidden), //
text: 'My Field',
name: 'My Field',
value:'Hello'
}]
});
}
});