wangEditor富文本编辑器自定义菜单(工具栏)

本文介绍了如何使用WangEditor中的excludeKeys配置来移除部分菜单,如'headerSelect'、'italic'等,并指导读者通过toolbar.getConfig().toolbarKeys获取默认配置。官方示例展示了如何通过excludeKeys方法去除特定菜单项,如blockquote、todo和emotion。
部署运行你感兴趣的模型镜像

如果仅仅想排除掉某些菜单,其他都保留,可以使用 excludeKeys 来配置。
可通过 toolbar.getConfig().toolbarKeys 查看工具栏的默认配置。

import { IToolbarConfig, createToolbar } from '@wangeditor/editor'

const toolbarConfig: Partial<IToolbarConfig> = {
    excludeKeys: [
        'headerSelect',
        'italic',
        'group-more-style' // 排除菜单组,写菜单组 key 的值即可
    ]
}

// 创建 toolbar

如果想排除某个菜单组,可通过 toolbar.getConfig().toolbarKeys 找到这个菜单组的 key。

 官方例子中 使用excludeKeys方法:

window.toolbar = E.createToolbar({
        editor,
        selector: '#editor-toolbar',
        config: {
            // 去除blockquote引用,todo待办,emotion表情
            excludeKeys: ["blockquote", "todo", "emotion"]
        },
    });

    // console.log(editor.getAllMenuKeys())
    // console.log(toolbar.getConfig().toolbarKeys)
    // var obj = toolbar.getConfig().toolbarKeys
    // for(var i in obj) {
    //     console.log(i,":",obj[i]);
    // }

 默认菜单中对应的key值:

您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

### wangeditor富文本编辑器toolbar工具栏不显示的可能原因及解决方案 在使用wangeditor富文本编辑器时,如果遇到`toolbar`工具栏不显示的情况,可能是由于以下几个常见问题引起的: #### 1. **未正确初始化编辑器** 如果编辑器实例化过程中缺少必要的参数或者配置错误,则可能导致工具栏无法正常渲染。确保在初始化编辑器时正确设置了`toolbarConfig`和`editorConfig`。 ```javascript const { Editor, Toolbar } = window.wangEditor; const editor = new Editor('#editor-container'); const toolbar = new Toolbar(editor, '#toolbar-container'); // 配置工具栏选项 toolbar.config.menus = [ 'head', 'bold', 'fontSize', 'fontName', 'italic', 'underline', 'strikeThrough', 'indent', 'lineHeight', 'foreColor', 'backColor', 'link', 'list', 'align', 'uploadImage' ]; // 初始化工具栏和编辑器 toolbar.create(); editor.create(); ``` 上述代码展示了如何通过设置`menus`属性来指定工具栏中需要展示的功能按钮[^3]。 --- #### 2. **HTML结构缺失或错误** `toolbar`容器的DOM节点必须存在且ID唯一。如果没有对应的HTML容器,即使正确初始化了编辑器,工具栏也不会被渲染出来。 确保页面中有如下两个容器: ```html <!-- 工具栏容器 --> <div id="toolbar-container"></div> <!-- 编辑区域容器 --> <div id="editor-container"></div> ``` 如果这些容器不存在或ID名称与初始化时不一致,可能会导致工具栏不显示的问题[^3]。 --- #### 3. **CSS样式冲突** 页面中存在的其他全局CSS样式可能会覆盖wangeditor默认的样式规则,从而影响工具栏的显示效果。可以通过检查浏览器开发者工具查看是否有样式冲突。 解决方法之一是为wangeditor单独加载其官方提供的CSS文件,并确保该文件优先级高于其他样式表。 ```html <link rel="stylesheet" href="https://unpkg.com/wang-editor@latest/es/css/style.min.css"> ``` 此外,也可以尝试给工具栏添加额外的类名以避免样式污染: ```javascript toolbar.config.classNames = { container: 'custom-toolbar-class' // 自定义工具栏容器类名 }; ``` --- #### 4. **JavaScript脚本加载顺序不当** 如果wangeditor的相关JS库未能成功加载,或者加载时机晚于编辑器初始化逻辑执行时间,也可能引发工具栏不可见的现象。 确认以下几点: - 是否已正确引入wangeditor的核心库文件; - 脚本标签应放置在页面底部或其他合适位置,确保DOM完全加载后再运行初始化代码。 示例引入方式: ```html <script src="https://unpkg.com/wang-editor@latest/dist/wangEditor.min.js"></script> ``` --- #### 5. **自定义配置项遗漏** 当前版本(wangEditor V5)支持高度灵活的工具栏定制能力。但如果忽略了某些必要字段(比如`toolbarConfig.menus`),则会触发默认行为——即隐藏整个工具栏。 下面是一份完整的配置示例: ```javascript const toolbarConfig = { menus: ['head', 'bold', 'italic'], // 显示哪些菜单项 excludeMenus: [], // 排除特定菜单项 hideMenuWhenMobile: false // 移动端是否隐藏菜单 }; const editorConfig = { placeholder: '请输入内容...', onChange() { console.log('内容变化:', this.txt.html()); } }; const editor = new window.wangEditor.Editor('#editor-container'); Object.assign(editor.config, editorConfig); const toolbar = new window.wangEditor.Toolbar(editor, '#toolbar-container'); Object.assign(toolbar.config, toolbarConfig); toolbar.create(); editor.create(); ``` 这里明确了`menus`数组的作用以及如何排除不需要的功能模块[^3]。 --- #### 6. **调试技巧** 使用浏览器控制台排查潜在问题: - 检查是否存在JavaScript错误日志; - 查看网络请求状态,确认资源加载无误; - 利用断点分析变量值,验证各阶段数据传递准确性。 --- ### 总结 针对wangeditor富文本编辑器中toolbar工具栏不显示的问题,可以从以上几个方面逐一排查并修复。通常情况下,只要按照官方文档说明完成基本环境搭建工作即可恢复正常运作。
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

种麦南山下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值