gpt4 book ai didi

javascript - Extjs 在字段渲染后更改 fieldLabel。有更好的解决方案吗?

转载 作者:行者123 更新时间:2023-12-03 12:27:25 25 4
gpt4 key购买 nike

我检查了 ExtJs 如何在 dom 中呈现表单的字段。要在渲染字段后更改 fieldLabel,我会找到合适的 dom 元素并更改其 innerHTML;

/**
* Modifies field's label afrer field is rendered.
*
* @param {object} field
* Some object that directly or indirecty extends Ext.form.Field
* @param {String} label
* New value for field's label.
*/
function setLabel(field,label){
var el = field.el.dom.parentNode.parentNode;
if( el.children[0].tagName.toLowerCase() === 'label' ) {
el.children[0].innerHTML =label;
}else if( el.parentNode.children[0].tagName.toLowerCase() === 'label' ){
el.parentNode.children[0].innerHTML =label;
}
return setLabel; //just for fun
}

//EXAMPLE:
var win = new Ext.Window({
height : 200,
width : 300,
layout : 'form',
labelAlign : 'right',
items : [{
xtype : 'textfield',
fieldLabel : 'name',
ref : 'f',
html : 'asdf'
},{
xtype : 'datefield',
fieldLabel : 'date',
ref : 'd'
},{
xtype : 'combo',
fieldLabel : 'sex',
ref : 'c',
store : [[1,"male"],[2,"female"]]
},{
xtype : 'radio',
fieldLabel : 'radio',
ref : 'r'
},{
xtype : 'checkbox',
fieldLabel : "checkbox",
ref : 'ch'
}]
}).show()

setTimeout(function(){
setLabel(win.f,'Last Name')(win.d,'Birth Date')(win.c,'Your Sex')(win.r,'jus radio')(win.ch,'just checkbox');
},3000);

最佳答案

访问 dom 以动态更改 fieldLabels 是 3.0.1 之前的版本

在 3.0.1 之后我相信这有效

field.labelEl.update('New label');

您只能在渲染字段后执行此操作。

关于javascript - Extjs 在字段渲染后更改 fieldLabel。有更好的解决方案吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3322332/

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