pfaffman
(Jay Pfaffman)
1
继续讨论 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>

1 个赞
pfaffman
(Jay Pfaffman)
3
当我做类似的事情时,工具提示只是添加到字段名称上。
@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|
这似乎是文档错误的另一种情况。