我正在尝试将 TinyMCE 与动态生成的文本区域一起使用,但 ID 始终由其他设置

I am trying to use TinyMCE with dynamically generated textareas, but the IDs are always set by something else

我在我的一款游戏中使用 Underscore、React 和 TinyMCE。

部分游戏管理有一个带有多个 TinyMCE 文本框的编辑屏幕,所以我需要动态生成的 ID。

这就是为什么在模板中,我使用带有动态生成的 ID 的文本区域,如下所示:

<textarea id="{{'game_' + g.id}}" class="gameDesc">
</textarea>

这应该会导致像这样的文本区域:

<textarea id="game_7" class="gameDesc"></textarea>

然后我用它在我的 TinyMCE 组件中设置我的选择器的值,如下所示:

return (
    <Editor
        initialValue={gameDesc}
        init={{
            selector: 'textarea#game_' + gameId,
            height: 500,
            plugins: [
                'advlist autolink lists link image charmap print preview anchor'
            ],
            toolbar: 'undo redo | bold italic underline strikethrough | fontselect fontsizeselect formatselect |
        }}
        value={contentEditor}
        onEditorChange={handleEditorChange}
    />
)

但是每当我 运行 它时,我都会看到我的文本区域的 ID 以某种方式被更改为这样:

<textarea id="tiny-react_75536734221618409165824" />

我不知道在何处或如何设置。

为了确定,我添加了这样一条测试线:

<div id="{{'game_' + g.id}}">TESTING</div>

它确实像这样正确渲染:

<div="game_7">TESTING</div>

所以我不确定发生了什么。

有没有人运行遇到过这样的问题?

谢谢!

假设您正在使用 TinyMCE React 组件,您可以将一个参数传递给 <Editor> 标记以设置 id:

https://www.tiny.cloud/docs/integrations/react/#id

An id for the editor. Used for retrieving the editor instance using the tinymce.get('ID') method. Defaults to an automatically generated UUID.