# 如何在主题组件/插件中使用TagChooser

**URL:** https://meta.discourse.org/t/how-to-use-tagchooser-in-a-theme-component-plugin/236112
**Category:** Development
**Created:** [2022 年8 月 13 日 14:38 UTC](https://meta.discourse.org/t/how-to-use-tagchooser-in-a-theme-component-plugin/236112 "2022-08-13T14:38:17Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### 作者： ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### 发布日期： [2022 年8 月 13 日 14:38 UTC](https://meta.discourse.org/t/how-to-use-tagchooser-in-a-theme-component-plugin/236112/1 "2022-08-13T14:38:17Z")

</div>

我添加了一个 `user_custom_field`，其中包含一个标签数组。我想在偏好设置页面添加一个 `TagChooser`。

所以我把一些东西放到了一个插件的 `outlet` 中，它显示了用户偏好设置中的内容，因此序列化器也正确连接了。太棒了。

我有这个：

```plaintext
<label class="control-label">{{i18n 'user_tags.preferences.title'}}</label>

{{this.currentUser.user_tags}}

<TagChooser @tags={{this.currentUser.user_tags}} @onChange={{action "changeSelectedTags"}} @everyTag={{true}} @unlimitedTagCount={{true}} @options={{hash
    allowAny=true
  }} />

<div class="desc">{{html-safe this.setting.description}}</div>
<SettingValidationMessage @message={{this.validationMessage}} />

```

但是 `TagChooser` 没有生成任何代码。我怀疑我需要把一些晦涩难懂的东西塞进一个随机命名的文件中，在我被告知之后，就会完全清楚我需要把什么放在哪里，但我已经浏览了 Discourse 的源代码和许多插件，仍然卡住了。

---

<div class="post-metadata">

### 作者： ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### 发布日期： [2022 年8 月 15 日 19:00 UTC](https://meta.discourse.org/t/how-to-use-tagchooser-in-a-theme-component-plugin/236112/2 "2022-08-15T19:00:25Z")

</div>

是不是 `@tags` 需要一个标签对象的数组，而不仅仅是标签名称的数组？而且它没有抛出错误来指出我的愚蠢，只是什么都没做？

---

<div class="post-metadata">

### 作者： ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### 发布日期： [2022 年8 月 15 日 19:19 UTC](https://meta.discourse.org/t/how-to-use-tagchooser-in-a-theme-component-plugin/236112/3 "2022-08-15T19:19:04Z")

</div>

控制台中是否有任何错误？如果它没有生成任何 HTML，那么我肯定会在控制台中看到一个错误 🤔

---

<div class="post-metadata">

### 作者： ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### 发布日期： [2022 年8 月 15 日 19:24 UTC](https://meta.discourse.org/t/how-to-use-tagchooser-in-a-theme-component-plugin/236112/4 "2022-08-15T19:24:41Z")

</div>

叹气。好吧，我发誓它在控制台中没有生成错误。我发誓。

但现在它生成了。我现在需要从别处窃取一些 `changeSelectedTags` 的代码。至少我现在看到错误了，知道该怎么做了。

谢谢。
