如何在 ExtJS 中的绑定公式中使用逻辑运算符?
How to use logical operators inside bind formulas in ExtJS?
我在一个表单中有 3 个输入字段,我想仅在前两个输入有值时才启用第三个输入。
这似乎不起作用:
Ext.define('MyApp.view.myobj.MyPanel', {
extend:'Ext.Panel',
viewModel: {},
items: [{
xtype: 'form',
defaultType: 'textfield',
items: [
{fieldLabel: 'Field 1', reference: 'field1', publishes: 'value'},
{fieldLabel: 'Field 2', reference: 'field2', publishes: 'value'},
{
fieldLabel: 'Field 3',
bind: {
disabled: '{!field1.value} || {!field2.value}'
}
},
],
}],
});
在视图模型中,将公式添加到 return {!field1.value} 的值 || {!field1.value}
根据 fiddle:
viewModel: {
formulas: {
something: {
bind: {
x: '{!field1.value}',
y: '{!field2.value}'
},
get: function (data) {
if (data.x || data.y) return true;
else return false;
}
}
}
},
items: [{
xtype: 'form',
defaultType: 'textfield',
bodyPadding: 10,
items: [
{fieldLabel: 'Field 1', reference: 'field1', publishes: 'value'},
{fieldLabel: 'Field 2', reference: 'field2', publishes: 'value'},
{
fieldLabel: 'Field 3',
bind: {
disabled: "{something}"
}
},
],
}]
像这样向您的 ViewModel 添加公式配置:
formulas : {
showSomeComponent : function (get) {
return get('isAuthorized') && !get('isDisabled');
}
}
http://docs.sencha.com/extjs/5.1.0/Ext.app.ViewModel.html#cfg-formulas
我在一个表单中有 3 个输入字段,我想仅在前两个输入有值时才启用第三个输入。
这似乎不起作用:
Ext.define('MyApp.view.myobj.MyPanel', {
extend:'Ext.Panel',
viewModel: {},
items: [{
xtype: 'form',
defaultType: 'textfield',
items: [
{fieldLabel: 'Field 1', reference: 'field1', publishes: 'value'},
{fieldLabel: 'Field 2', reference: 'field2', publishes: 'value'},
{
fieldLabel: 'Field 3',
bind: {
disabled: '{!field1.value} || {!field2.value}'
}
},
],
}],
});
在视图模型中,将公式添加到 return {!field1.value} 的值 || {!field1.value}
根据 fiddle:
viewModel: {
formulas: {
something: {
bind: {
x: '{!field1.value}',
y: '{!field2.value}'
},
get: function (data) {
if (data.x || data.y) return true;
else return false;
}
}
}
},
items: [{
xtype: 'form',
defaultType: 'textfield',
bodyPadding: 10,
items: [
{fieldLabel: 'Field 1', reference: 'field1', publishes: 'value'},
{fieldLabel: 'Field 2', reference: 'field2', publishes: 'value'},
{
fieldLabel: 'Field 3',
bind: {
disabled: "{something}"
}
},
],
}]
像这样向您的 ViewModel 添加公式配置:
formulas : {
showSomeComponent : function (get) {
return get('isAuthorized') && !get('isDisabled');
}
}
http://docs.sencha.com/extjs/5.1.0/Ext.app.ViewModel.html#cfg-formulas