【问题标题】:Add custom message (not error) under under combobox/text field在组合框/文本字段下添加自定义消息(非错误)
【发布时间】:2014-09-04 15:32:43
【问题描述】:

我是 extjs 的新手,我正在寻找一种在我的组合框字段下添加一些自定义消息的方法。

根据某些条件(例如选择的值),消息需要具有不同的文本和/或样式。

我可以使用与我的组合框关联的 errorEl 并根据状态更改它的消息/样式,但这看起来不是一个好方法。

您是否知道任何允许添加此类消息的插件,或者是否有更短的方法来执行此操作?


感谢您的建议。我最终编写了自己的插件,然后将其附加到组合框。

我在错误元素之后添加了新元素,并根据适当的组合框事件更改了消息。

afterCmpRender : function() {
    var me = this, cmp = me.getCmp();

    var messageWrapper = {
        tag : 'div'
    };
    var messageEl = cmp.errorEl.insertSibling(messageWrapper, "after");
    cmp.messageEl = messageEl;

    Ext.Array.each(me.messages, function(message) {
        var messageConfig = {
            tag : 'div',
            style : {
                display : 'none'
            }
        };
        var newElement = messageEl.insertSibling(messageConfig, "after");
        newElement.setHTML(message.value);
        newElement.addCls(message.classes);
        me.registerMessageEvents(me, cmp, message, newElement);
    });
}

【问题讨论】:

    标签: extjs


    【解决方案1】:

    我几乎总是为此使用多个元素,并且不会尝试更改字段。

    根据你没有提供的上下文,我想说你可以看看:

    • Ext.form.field.Display
    • Ext.form.Label
    • Ext.tip.Tip
    • Ext.tip.QuickTip

    【讨论】:

      【解决方案2】:

      我会在 Ext.tip.Tip 班级工作。

      你可以创建

      Ext.create('Ext.tip.Tip', {
          id: 'myTip',
          header: false
      });
      

      然后

      var tip = Ext.getCmp('myTip');
      tip.update('your custom tip message');
      tip.showBy(comboboxComponent);
      

      您也可以使用showAt(..) 代替showBy。 欲了解更多信息,请查看Docu

      这是一个示例的Fiddle 链接。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-03
        • 1970-01-01
        • 2023-04-08
        • 2018-03-18
        • 2015-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多