Extjs AEM自定义小部件::动态添加fieldLabel和fieldDescription
我已经创建了一个自定义小部件。下面给出了代码片段Extjs AEM自定义小部件::动态添加fieldLabel和fieldDescription,extjs,aem,Extjs,Aem,我已经创建了一个自定义小部件。下面给出了代码片段 this.word = new CQ.Ext.form.TextField({ fieldLabel: "Word", fieldDescription: "Please enter a word in the format: Word", allowBlank: false, autoWidth: false, // regex: /^[A-Z][a-zA-Z\s]+$/, // regexText: 'Enter only
this.word = new CQ.Ext.form.TextField({
fieldLabel: "Word",
fieldDescription: "Please enter a word in the format: Word",
allowBlank: false,
autoWidth: false,
// regex: /^[A-Z][a-zA-Z\s]+$/,
// regexText: 'Enter only alphabets here.First character has to be an alphabet in uppercase.',
listeners: {
change: {
scope: this,
fn: this.updateHidden
}
}
});
小部件工作正常。我还有另外一个要求,在功能方面与此类似。唯一不同的是fieldLabel和fieldDescription的值。我不认为为此创建另一个小部件是一个好主意。有什么办法可以让这两个动态的
仅供参考,我正在使用AEM 6
提前感谢您可以使用侦听器并动态更改值。我在活动中尝试过,它似乎起了作用
this.word = new CQ.Ext.form.TextField({
fieldLabel: "Word",
fieldDescription: "Please enter a word in the format: Word",
allowBlank: false,
autoWidth: false,
// regex: /^[A-Z][a-zA-Z\s]+$/,
// regexText: 'Enter only alphabets here.First character has to be an alphabet in uppercase.',
listeners: {
change: {
scope: this,
fn: this.updateHidden
},
added: function(textfield,ownerct,index){
if(//some condition here){
textfield.fieldLabel = "new field label",
textfield.fieldDescription = "new field description"
}
}
}
});
如果您想对不同的组件使用相同的小部件,并且每个组件必须具有唯一的字段(对于您-fieldLabel和fieldDescription) 试试这个:
var label = this.fieldLabel;
var description = this.fieldDescription;
this.word = new CQ.Ext.form.TextField({
fieldLabel: (label || label == '') ? label : "Word",
fieldDescription: (description || description == '') ? description : "Please enter a word in the format: Word",
allowBlank: false,
autoWidth: false,
// regex: /^[A-Z][a-zA-Z\s]+$/,
// regexText: 'Enter only alphabets here.First character has to be an alphabet in uppercase.',
listeners: {
change: {
scope: this,
fn: this.updateHidden
}
}
});
“this.fieldLabel”-从使用小部件的组件对话框中获取新值“fieldLabel”:
...
fieldLabel="New Value fieldLabel For Custom Widget"
xtype="yourCustomWidget"/>
...
嘿,莎拉斯,谢谢你的回复。我问这个可能是愚蠢的。但是,如果“added:function..”在JS中,而fieldLabel值(“new field label”)是在JS中设置的,我不确定它是如何使fieldLabel和fieldDescription动态的。再说一遍,我可能听起来很愚蠢或幼稚,但ExtJs并不是我的强项。如果你能在这里做一点手工操作,我将不胜感激。谢谢。您想什么时候更改字段标签和描述?这些值是预先确定的吗?我正在考虑将fieldLabel和fieldDescription定义为组件的属性。i、 e.将这两个属性分配给cq:组件。你有什么建议?