这是我试图放置工具提示的组件:
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')
现在,问题在这里,我正在寻找一些想法,但没有发现,我不知道这是否是完成工具提示的正确方法。救命!
解:
为创建的show
定义tooltip
监听器。在这个监听器中获取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进行测试。