tinyMCE自定义图标交替状态

问题描述 投票:0回答:1

因此我可以添加一个自定义工具栏切换按钮,该按钮会将所选文本呈现为红色 - 即:

          tinymce.init({
              selector: '#txtT',
              width: 500,
              height: 300,
              browser_spellcheck: true,
              statusbar: false,
              menubar: false,
              toolbar: 'bold italic underline | boldRed',
              setup: (editor) => {
                  editor.ui.registry.addIcon('mysvg', '<svg height="24" width="24"><path d="M12 0 L24 24 L0 24 Z" /></svg>');
                  editor.ui.registry.addToggleButton('boldRed', {
                      icon: 'mysvg',
                      onAction: (_) => editor.execCommand('ForeColor', false, '#FF0000'),
                      onSetup: (api) => {
                          api.setActive(editor.formatter.match('#FF0000'));
                          const changed = editor.formatter.formatChanged('#FF0000', (state) => api.setActive(state));
                          return () => changed.unbind();
                      }
                  });
              },
              content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:16px }'
          });

到目前为止一切顺利。但有两件事:

  1. 如果光标放在粗体文本上,默认按钮(例如 B(粗体))将切换到备用“打开”版本,从而为光标点处的文本格式提供视觉线索。

我不知道如何让我的自定义图标来执行此操作。想必我需要以某种方式注册备用的、切换的、“开启”状态图标..?

[编辑]即使我使用内置图标 - 再次说“粗体” - 这不会像真正的粗体、斜体等图标那样改变状态。

[编辑] 很确定答案在于“上下文”,根据 文档 但如果我能弄清楚的话该死的...

  1. 理想情况下,我真的希望这个按钮以粗体红色呈现文本,而不仅仅是粗体(并在切换时恢复为普通黑色)...我对此也有点迷失...?

在这里添加了一个小提琴

蒂亚

tinymce
1个回答
0
投票

github上有人非常好心地提供了答案: https://github.com/tinymce/tinymce/discussions/10001

© www.soinside.com 2019 - 2024. All rights reserved.