如何在Jodit中单击选择按钮时打开下拉菜单?

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

我在 React 应用程序中使用 Jodit 编辑器。 现在我需要工具栏中的自定义按钮将文本片段插入编辑器。 这一切都很好。

我有一个带有自定义图标的按钮,在其右侧有一个 V 形图标,可以打开和折叠我的下拉菜单。

我不明白的是,如何使我的自定义按钮更像标准段落按钮。段落按钮也有 V 形图标,但无论单击何处,它总是会打开下拉菜单。

所以我的 extraButton-Config 包含这个:

{
  name: "Textbausteine",
  icon: "dots",
  list: textModules.map((module) => module.name),
  tooltip: "Textbaustein einfügen",
  exec: (
    jodit: IJodit,
    _current: Nullable<Node>,
    options: {
      button: IToolbarButton;
      control: IControlType<IJodit>;
      originalEvent: Event;
    },
  ) => {

    if (options.control.args) {
      const moduleIndex = options.control.args?.at(1);
      jodit.selection.insertHTML(textModules[moduleIndex].content);
    }
      else {
        // open dropdown
    }
  },
}

我尝试了

jodit.selection.expandSelection()
但什么也没发生。

有人知道如何在工具栏中打开下拉菜单吗?

javascript jodit
2个回答
0
投票

我也在寻找如何解决这个问题,如果没有找到参数就需要返回 false


0
投票
使用选择代替。

extraButtons: [ { name: 'Custom Variables', component: 'select', tooltip: 'A list of custom variables that will be dynamically inserted to template', list: customVariables, childTemplate: (_editor: any, key: 'name' | 'email' | 'phone') => `<span>${customVariables[key].label}</span>`, exec: (editor: any, _: any, { control }: any) => { const value = control?.args?.[1]?.value; if (value) editor?.s?.insertHTML(value); }, }, ]

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