gpt4 book ai didi

javascript - ExtJS 5 : bind to other class properties, 像 allowBlank

转载 作者:搜寻专家 更新时间:2023-11-01 04:56:45 24 4
gpt4 key购买 nike

我对允许绑定(bind)哪些配置值以及不允许绑定(bind)哪些配置值感到困惑。目前,不允许绑定(bind) allowBlank,因为我收到一条错误消息 Ext.mixin.Bindable.applyBind(): Cannot bind allowBlank on Ext.form.field.ComboBox - missing a setAllowBlank method.如果我使用配置,我不会收到错误,但它不会按预期工作:

xtype: 'combobox',
anchor: '100%',
fieldLabel: 'Affiliation',
name: 'AffiliationId',
displayField: 'Abbreviation',
valueField: 'AffiliationId',
queryMode: 'local',
typeAhead: true,
config: {
forceSelection: true,
allowBlank: false
},
bind: {
store: '{affiliationStore}',
allowBlank: '{allowBlankAffiliation}',
forceSelection: '{forceSelectionAffiliation}'
}

我想知道的是,如何将 allowBlank 或任何其他属性绑定(bind)到公式?这甚至可能吗,还是我完全不了解某些东西?如果是这样,我怎么知道我可以绑定(bind)什么和不能绑定(bind)什么?

最佳答案

只有带有 setter 的属性,set 方法应该出现在 docs 中, 可以绑定(bind)。 “setAllowBlank”不存在。 allowBlank 没有开箱即用的 setter,因为它没有放在组合框对象的配置中。正如您在源代码中看到的那样:

http://docs.sencha.com/extjs/5.0/5.0.1-apidocs/source/Text.html#Ext-form-field-Text-cfg-allowBlank

通过像您一样将 allowBlank 设置到配置中,您只是在抑制错误。

您可以做的是扩展 ComboBox 并创建自定义配置属性。之后,您可以覆盖更新方法(由配置系统创建)并手动设置 allowBlank

Ext.define('MyComboBox', {
extend: 'Ext.form.field.ComboBox',

alias: 'widget.MyComboBox',

config: {
requireMe: false
},

// override of generated update method
updateRequireMe: function(value) {
this.allowBlank = !value;
}
});

用法:

xtype: 'MyComboBox',
valueField: '_id',
displayField: 'name',
queryMode: 'local',
requireMe: '{!allowBlank}',
bind: {
store: '{people}'
}

关于javascript - ExtJS 5 : bind to other class properties, 像 allowBlank,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31814070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com