10

我正在尝试将 QuickTip 添加到表单字段,但找不到使我的代码正常工作的方法。首先,我尝试使用一个qtip属性

    {
        fieldLabel: 'Last Name',
        qtip:'This tip is not showing at all',
        name: 'last'
    }

然后使用Ext.tip.ToolTip类:

Ext.create('Ext.tip.ToolTip', {
    target: 'rating_field',
    anchor: 'right',
    trackMouse: true,
    html: 'This tip is not showing at all'
});

Ext.QuickTips.init();

这是一个带有源代码的 jsfiddle:jsfiddle

4

6 回答 6

24

是的,使用 inputAttrTpl 配置和 data-qtip 属性:

{
    fieldLabel: 'Last Name',
    inputAttrTpl: " data-qtip='This is my quick tip!' ",
    name: 'last'
}
于 2013-08-14T22:06:48.547 回答
8

我在这里找到了答案:我应该如何向 ExtJS 组件添加工具提示?

    {
        fieldLabel: 'Last Name',
        qtip: "This is a tip",
        name: 'last',
        listeners: {
            render: function(c) {
                Ext.QuickTips.register({
                    target: c.getEl(),
                    text: c.qtip
                });
            }
        }
    }
于 2013-08-15T16:10:47.493 回答
4

使用vero4ka 的答案,我编写了一个简单的插件,可以与表单一起使用以启用子字段的快速提示。

Ext.define('Ext.form.QtipPlugin', {
    extend: 'Ext.AbstractPlugin',

    alias: 'plugin.qtipfields',

    init: function (cmp) {
        this.setCmp(cmp);

        cmp.on('beforerender', function () {

            var fields = cmp.query('field[qtip]');

            for (var i = 0; i < fields.length; i++) {

                fields[i].on('render', this.register, this);

            }

        }, this);
    },

    register: function (field) {
        var obj = {
            target: field.id
        };

        if (typeof field.qtip === 'string') {
            obj.text = field.qtip;
        } else if (typeof field.qtip === 'object') {
            // Allow qtip configuration objects.
            // i.e. qtip: { text: 'hi', ... }
            Ext.applyIf(obj, field.qtip);
        }

        Ext.tip.QuickTipManager.register(obj);
    }
});
于 2015-04-08T15:23:51.823 回答
3

对于任何表单字段,您都可以使用:

{
    xtype: 'textfield', // or anything else
    autoEl: {
        'data-qtip': 'This is working tip!'
    }
}
于 2017-05-18T10:12:34.323 回答
0

您还可以在表单面板上使用内置插件数据提示。在表单面板中(参见http://docs.sencha.com/extjs/6.5.1/classic/Ext.ux.DataTip.html):

在表单配置中:

plugins = [{ptype : 'datatip'}]

在字段文本配置中:

tooltip : "my tooltip text"
于 2017-09-07T10:12:39.300 回答
0

如果您要动态生成工具提示,则可以使用以下代码段:

txtFieldName.el.set({ "data-qtip": Ext.String.htmlDecode("Some Text") });
于 2018-01-29T12:10:29.273 回答