pfaffman
(Jay Pfaffman)
1
Discourse toolkit to render forms에서 이어서 논의합니다:
이것을 작동시킬 수 없습니다. 그냥 툴팁을 렌더링하기를 거부합니다. form-kit 테스트에 있는
@tooltip={{component DTooltip content="component"}}
을 그대로 복사했습니다. 컴포넌트를 사용하면 툴팁이 렌더링되지 않습니다.
코어 또는 all-the-plugins에서 컴포넌트가 사용되는 예시를 찾을 수 없으므로, 폼에서 i18n을 툴팁과 함께 사용하는 것이 불가능해 보입니다. (아마 내가 이걸 못 찾는 것일 수도 있겠더라고요.)
다음 두 가지 import를 모두 시도해 보았습니다. 후자는 테스트에서 가져온 것입니다. (왜 두 개가 있나요? 아마도 같은 파일을 호출하는 두 가지 방식일까요? 코어에서는 하나만 보입니다.)
// import DTooltip from "discourse/components/d-tooltip";
import DTooltip from "float-kit/components/d-tooltip";
실제로 테스트와 문서가 약간 혼란스럽습니다.
코드를 보면 컴포넌트를 반환하기만 하면 됩니다.
예를 들어, 저에게는 다음과 같은 코드가 작동합니다:
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>

pfaffman
(Jay Pfaffman)
3
그렇게 하면 툴팁이 필드 이름에 단순히 추가됩니다.
@tooltip은 문자열만 받습니다. 그걸 깨닫고 나서, 다음과 같은 문자열을 반환하는 함수를 만들었습니다.
@action
tooltipText(field) {
return i18n("pfaffmanager.help." + field + "_tooltip");
}
...
<form.Field
@name="install_type"
@format="large"
@translatedLabel="bananas are delicious"
@validation="required"
@tooltip={{this.tooltipText "install_type"}}
@class="install-field"
@title="Install Type"
{{! @description="description." }}
as |field|
>
<field.Select
{{on "focus" (fn this.fieldClicked "install_type")}}
as |select|
>
이것은 문서가 단순히 잘못된 또 다른 사례인 것 같습니다.