我正在尝试获取一个自定义 extjs 组件,以根据绑定到它的真/假值来呈现绿色检查或红色 x 图像。
以前的开发人员还编写了一些其他控件,用于呈现自定义标签/自定义按钮,我试图将这些控件作为基础,但我运气不佳。
我希望能够在如下视图中使用它,其中“recordIsValid”是我模型中属性的名称。(如果我删除 xtype: 它只是呈现为真/假)
{
"xtype": "booldisplayfield",
"name": "recordIsValid"
}
这是我目前所拥有的,但 ExtJS 对我来说很陌生。
Ext.define('MyApp.view.ux.form.BoolDisplayField', {
extend: 'Ext.Component',
alias : 'widget.booldisplayfield',
renderTpl : '<img src="{value}" />',
autoEl: 'img',
config: {
value: ''
},
initComponent: function () {
var me = this;
me.callParent(arguments);
this.renderData = {
value: this.getValue()
};
},
getValue: function () {
return this.value;
},
setValue: function (v) {
if(v){
this.value = "/Images/booltrue.png";
}else{
this.value = "/Images/boolfalse.png";
}
return this;
}
});
我从以前的自定义链接按钮实现中获取了上述大部分内容。我假设当模型值绑定到控件setValue
时会调用它。recordIsValid
然后根据这是对还是错,它将用正确的图像覆盖设置控件的 value 属性。
然后在 initComponent 中,它会renderData value
通过调用设置getValue
并将其注入到renderTpl
字符串中。
任何帮助将不胜感激。