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

Posted

技术标签:

【中文标题】ExtJs 3.4 - 如何提示预加载的 textField 组件的内容【英文标题】:ExtJs 3.4 - how to ToolTip a content of a textField component that was pre-loaded 【发布时间】:2018-09-13 21:32:07 【问题描述】:

这是我试图放置工具提示的组件:

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')

现在,问题来了,我一直在寻找一些想法来做到这一点,但一无所获,我不知道这是否是完成工具提示的正确方法。救命!

【问题讨论】:

【参考方案1】:

解决方案:

为创建的tooltip 定义show 侦听器。在此侦听器中获取 textfieldupdate 工具提示的值。 通过这种方式,tooltip 的内容会动态变化,并会显示 tooltip 目标的内容。

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

【讨论】:

以上是关于ExtJs 3.4 - 如何提示预加载的 textField 组件的内容的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS (3.4):更新 TabPanel 中面板的工具提示

如何使用 JSON 数据数组加载 extjs 3.4 存储

ExtJS 3.4 - 设置加载

Extjs 3.4 ComboBox:首次加载组合框时如何预选一条记录?

如何在 extjs 3.4 中为必填字段标记 (*)

extjs 3.4 在字段中添加工具提示