我应该如何向ExtJS组件添加工具提示?

Cod*_*rer 26 extjs tooltip

我正在创建一个ExtJS组件,我希望它使用QuickTips工具提示.如果我使用DomHelper创建一个元素,我可以设置一个工具提示,没有汗水.但是,如果我制作一个组件,就像

new BoxComponent({
  qtip: "This is a tip"
});
Run Code Online (Sandbox Code Playgroud)

什么都没发生.我也试过命名属性"tooltip",但没有运气.有没有正确的方法来做到这一点?我现在的黑客行为是有效的

new BoxComponent({
  qtip: "This is a tip",
  listeners: {
    rendered: function(c){
      Ext.QuickTips.register({
        target: c.getEl(),
        text: c.qtip
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

我觉得这样不可能.我想我可以只扩展Component来自动完成,但这似乎是一个很常见的情况,我应该能够做到这一点,而不是像这样在引擎盖下戳.

DSo*_*Soa 20

在ExtJS 4.2.1中,我可以通过这种方式向复选框添加提示:

new Ext.form.field.Checkbox({
  ...
  tip: 'This is a tip',
  listeners: {
    render: function(c) {
      Ext.create('Ext.tip.ToolTip', {
        target: c.getEl(),
        html: c.tip 
      });
    }
  });
Run Code Online (Sandbox Code Playgroud)


use*_*621 9

我觉得你做的绝对正确.我真的不认为在任意组件中需要QuickTips,特别是在容器中,因为这可能会导致同一组件中的多个工具提示.

  • 所以我必须为我的组件上的每个工具提示添加8行代码? (4认同)
  • 听起来不幸的是,短版本是"是的,这应该更容易,而不是,它不是." :( (2认同)