我正在尝试禁用tinyMce的一些工具栏和菜单选项,但我找不到合适的方法来做到这一点,根据我发现的内容,我想出了这样的东西:
const buttons = this.editor.ui.registry.getAll().menuItems;
for (let id in buttons) {
if (buttons.hasOwnProperty(id)) {
let button = buttons[id];
button.disabled = !enabled;
}
}
根据下面的tinymce代码,disabled是按钮上的一个有效属性,但当我将其设置为true时它不会执行任何操作,有什么想法吗?
interface BaseToolbarButtonSpec<I extends BaseToolbarButtonInstanceApi> {
disabled?: boolean;
tooltip?: string;
icon?: string;
text?: string;
onSetup?: (api: I) => (api: I) => void;
}
需要使用Button API,具体需要调用
setEnabled(false)
参考:https://www.tiny.cloud/docs/tinymce/6/custom-basic-toolbar-button/#api
类似:
const buttons = this.editor.ui.registry.getAll().menuItems;
for (let id in buttons) {
if (buttons.hasOwnProperty(id)) {
let button = buttons[id];
button.setEnabled(!enabled);
}
}