3

我正在使用 Extjs 4.1

我有一个带有一些文本字段的表单。

我想在此文本字段旁边显示一个帮助图标,以允许用户在显示表单时输入正确的值。

任何机构都可以帮助我解决这个问题。

4

5 回答 5

11

恕我直言,最简单的方法是使用 afterLabelTextTpl 将“帮助图标”放在标签文本的末尾,如下所示:

afterLabelTextTpl: '<img src="images/information.gif" class="info_image" data-qtip="your help text or even html comes here...."></img>'

可用于任何领域...

于 2013-07-18T06:20:11.030 回答
3

尝试使用 Ext.form.TriggerField 代替文本字段。

请参阅 Extjs 文档以获取参考http://extjs.cachefly.net/ext-3.4.0/docs/

对于 ExtJs 4.1:

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.form.field.Trigger

于 2012-08-30T18:10:53.063 回答
2

我制作了一个插件,该插件使用了与 Combobox 等各种字段混合的afterLabelTextTpl配置。Ext.form.Labelable

以下是如何使用它。

{
    xtype: 'textfield',
    fieldLabel: 'Some field label',
    name: 'name',
    plugins:[{
        ptype:'afterlabelinfo',
        qtip:'The text appearing after hovering over the icon'
    }]
}

这是您需要的插件。

Ext.define('Ext.ux.plugin.AfterLabelInfo', {
    extend: 'Ext.AbstractPlugin',
    alias: 'plugin.afterlabelinfo',

    init: function (cmp) {
        var me = this; // the plugin

        cmp.afterLabelTextTpl = [
            '<span',
            ' class="x-ux-plugin-afterlabelinfo"',
            ' data-qtip="',
            Ext.util.Format.htmlEncode(me.qtip || ''),
            '">',
            '</span>'
        ].join('');
    }
});

这是您需要的一些CSS。

.x-ux-plugin-afterlabelinfo {
    display: inline-block;
    margin-left: 5px;
    width: 12px;
    height: 12px;
    background-image: url(img/info-after.png) !important;
}

和图标在此处输入图像描述(右键单击并另存为)

结果

在此处输入图像描述

于 2017-03-11T09:35:33.733 回答
0

对我来说最好的方法是使用 Ext.tip.QuickTipView 可以很容易地添加到 afterrender 事件中,如下所示:

afterrender: function(me) {
  // Register the new tip with an element's ID
  Ext.tip.QuickTipManager.register({
     target: me.getId(), // Target button's ID
     text  : 'My Button has a QuickTip' // Tip content  
  });
}

https://docs.sencha.com/extjs/5.1/5.1.0-apidocs/#!/api/Ext.tip.QuickTip

于 2015-08-17T13:01:17.890 回答
-2

要将图像添加到组合,

使用组合的 tpl 属性。

 Combo = Ext.create('Ext.form.field.ComboBox', {
    displayField : 'name',
    valueField   : 'code',
    grow         : true,
    store        : store,
    queryMode    : 'local',
    listConfig: {
        getInnerTpl: function() {
            // here you place the images in your combo
            var tpl = '<div>'+
                      '<img src="images/flags/{iso2}.png" align="left">&nbsp;&nbsp;'+
                      '{name}</div>';
            return tpl;
        }
    }
});
于 2012-08-31T09:22:12.643 回答