在标题预填写时聚焦编辑器

哦,我明白了。我以为你在它的文件中使用了 JS its files

那么,从管理员界面,你会写:

<script type="text/discourse-plugin" version="1.8.0">
    const putCursorAtEnd = require("discourse/lib/put-cursor-at-end").default;
    const { scheduleOnce } = require("@ember/runloop");

    api.onAppEvent("composer:open", ({ model }) => {
      if (model.title !== "") {
        scheduleOnce("afterRender", () => {
          putCursorAtEnd(document.querySelector("textarea.d-editor-input"));
        });
      }
    });
</script>

顺便说一句,我强烈建议你使用 Theme CLI。你可以从模板创建一个主题组件,将其与 Discourse 同步并实时刷新,然后使用编辑器更新任何更改。这比使用 UI 容易得多!

2 个赞