You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TinyMCE初始化后如何更新mergetags_list?寻求实现示例

如何在TinyMCE初始化后更新合并标签(mergetags)列表

直接重复调用tinymce.init()不会生效,因为编辑器实例已经创建完成。你需要通过编辑器实例的API动态修改配置并刷新相关UI组件,具体步骤如下:

  1. 获取目标编辑器实例
    如果你知道编辑器的ID,直接用tinymce.get()获取;如果是当前活跃的编辑器,也可以用tinymce.activeEditor:

    const editor = tinymce.get('your-editor-id'); // 替换为你的编辑器ID
    
  2. 更新合并标签列表配置
    使用editor.options.set()方法修改mergetags_list的配置值:

    // 定义新的合并标签列表
    const newMergeTags = [
      { value: 'user.name', title: '用户名' },
      { value: 'user.email', title: '用户邮箱' },
      { value: 'article.date', title: '文章日期' }
    ];
    // 更新编辑器配置
    editor.options.set('mergetags_list', newMergeTags);
    
  3. 刷新合并标签的下拉菜单
    配置更新后,需要让合并标签按钮重新生成菜单选项。通过编辑器的UI注册表找到对应的按钮,重新定义其菜单生成逻辑并刷新:

    const mergeTagsMenuButton = editor.ui.registry.getMenuButton('mergetags');
    if (mergeTagsMenuButton) {
      // 重新绑定菜单生成函数,读取最新的配置
      mergeTagsMenuButton.menu = () => {
        return editor.options.get('mergetags_list').map(tag => ({
          type: 'menuitem',
          text: tag.title,
          onAction: () => {
            editor.insertContent(`{{${tag.value}}}`);
          }
        }));
      };
      // 刷新按钮的UI状态
      editor.ui.registry.refresh('mergetags');
    }
    

完成以上操作后,点击合并标签按钮就能看到更新后的列表了。

注意:如果你的合并标签插件有自定义渲染逻辑,可能需要根据实际情况调整菜单生成代码,但核心思路都是先更新配置,再刷新对应的UI组件。

内容的提问来源于stack exchange,提问作者Code-Monkey-Armis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 01:53:10