Form toolkit——无法使 tooltip 与组件按照文档主题或测试中描述的方式正常工作

继续讨论 Discourse toolkit to render forms:

我无法让它工作。它就是不渲染工具提示。我复制了与表单工具包测试中完全相同的

            @tooltip={{component DTooltip content="component"}}

。如果我使用组件,则不会渲染任何工具提示。

我在核心或 all-the-plugins 中找不到使用组件的示例,所以看起来无法在表单中使用 i18n 和工具提示?(我希望也许我只是还没弄明白)

我尝试了这两个导入,后者来自测试(为什么有两个?也许是两种调用同一个文件的方式?我在核心中只看到一个):

// import DTooltip from "discourse/components/d-tooltip";
import DTooltip from "float-kit/components/d-tooltip";
1 个赞

确实,测试和文档有点令人困惑。

看看代码,你只需要返回一个 <DTooltip> 组件。
例如,这对我有用:

const tooltip = <template>
    <DTooltip @icon="circle-question" @content="test" />
</template>

<form.Field
    @name="username"
    @title="Username"
    @validation="required"
    @tooltip={{tooltip}}
    as |field|
>
    <field.Input />
</form.Field>

image

1 个赞

当我做类似的事情时,工具提示只是添加到字段名称上。

@tooltip 只需要一个字符串。一旦我意识到这一点,我就写了一个函数返回类似的字符串

  @action
  tooltipText(field) {
    return i18n("pfaffmanager.help." + field + "_tooltip");
  }
...
               orm.Field
              @name="install_type"
              @format="large"
              @translatedLabel="香蕉很好吃"
              @validation="required"
              @tooltip={{this.tooltipText "install_type"}}
              @class="install-field"
              @title="安装类型"
              {{! @description="description." }}
              as |field|
            
              field.Select
                {{on "focus" (fn this.fieldClicked "install_type")}}
                as |select|
              

这似乎是文档错误的另一种情况。