ExtJs 3.4 - 如何工具提示预加载的textField组件的内容

问题描述 投票:0回答: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')

现在,问题在这里,我正在寻找一些想法,但没有发现,我不知道这是否是完成工具提示的正确方法。救命!

javascript extjs3
1个回答
0
投票

解:

为创建的show定义tooltip监听器。在这个监听器中获取textfieldupdate工具提示的值。使用此方法,工具提示的内容将动态更改并显示工具提示的目标内容。

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进行测试。

© www.soinside.com 2019 - 2024. All rights reserved.