ExtJs 3.4 - 如何使用工具提示预加载的 textField 组件的内容
ExtJs 3.4 - how to ToolTip a content of a textField component that was pre-loaded
这是我要放置工具提示的组件:
this.textFieldStreet = new Ext.form.TextField({
id : 'idTextFieldStreet',
fieldLabel : 'Street',
autoCreate : limitChar(30,30),
listeners : {
render : function(c){
Ext.QuickTips.register({
target : c.getEl(),
html : '' + Ext.getCmp('idTextFieldStreet').getValue()
}
});
}
}
});
在另一个 .js 中,我创建了定义每个组件的函数,就像您之前看到的那样,并按照您看到的方式调用该函数:
var componentFormCustomer = new ComponentFormCustomer();
然后我将值设置为:
componentFormCustomer.textFieldStreet.setValue('Some street info')
现在,问题来了,我正在寻找一些想法来做到这一点,但一无所获,我不知道这是否是完成工具提示的正确方法。求助!
解法:
为创建的 tooltip
定义 show
侦听器。在此侦听器中获取 textfield
和 update
工具提示的值。
使用这种方法,工具提示的内容将动态变化,并显示工具提示目标的内容。
Ext.onReady(function(){
Ext.QuickTips.init();
var textFieldStreet = new Ext.form.TextField({
renderTo : Ext.getBody(),
id : 'idTextFieldStreet',
fieldLabel : 'Street',
value : 'Initial value',
bodyCfg : {
tag: 'center',
cls: 'x-panel-body',
html: 'Message'
},
listeners : {
render : function(c) {
new Ext.ToolTip({
target : c.getEl(),
listeners: {
'show': function (t) {
var value = t.target.getValue();
t.update(value);
}
}
});
}
}
});
var button = new Ext.Button({
renderTo : Ext.getBody(),
text : 'Change Tooltip',
handler : function () {
textFieldStreet.setValue('New value');
}
});
});
备注:
使用 ExtJS 3.4.1 测试。
这是我要放置工具提示的组件:
this.textFieldStreet = new Ext.form.TextField({
id : 'idTextFieldStreet',
fieldLabel : 'Street',
autoCreate : limitChar(30,30),
listeners : {
render : function(c){
Ext.QuickTips.register({
target : c.getEl(),
html : '' + Ext.getCmp('idTextFieldStreet').getValue()
}
});
}
}
});
在另一个 .js 中,我创建了定义每个组件的函数,就像您之前看到的那样,并按照您看到的方式调用该函数:
var componentFormCustomer = new ComponentFormCustomer();
然后我将值设置为:
componentFormCustomer.textFieldStreet.setValue('Some street info')
现在,问题来了,我正在寻找一些想法来做到这一点,但一无所获,我不知道这是否是完成工具提示的正确方法。求助!
解法:
为创建的 tooltip
定义 show
侦听器。在此侦听器中获取 textfield
和 update
工具提示的值。
使用这种方法,工具提示的内容将动态变化,并显示工具提示目标的内容。
Ext.onReady(function(){
Ext.QuickTips.init();
var textFieldStreet = new Ext.form.TextField({
renderTo : Ext.getBody(),
id : 'idTextFieldStreet',
fieldLabel : 'Street',
value : 'Initial value',
bodyCfg : {
tag: 'center',
cls: 'x-panel-body',
html: 'Message'
},
listeners : {
render : function(c) {
new Ext.ToolTip({
target : c.getEl(),
listeners: {
'show': function (t) {
var value = t.target.getValue();
t.update(value);
}
}
});
}
}
});
var button = new Ext.Button({
renderTo : Ext.getBody(),
text : 'Change Tooltip',
handler : function () {
textFieldStreet.setValue('New value');
}
});
});
备注:
使用 ExtJS 3.4.1 测试。