Milkdown 无法使用表格

问题

代码如下:

<template>
  <VueEditor :editor="editor" />
</template>

<script setup>
import { Editor, rootCtx, defaultValueCtx } from "@milkdown/core";
import { nord } from "@milkdown/theme-nord";
import { VueEditor, useEditor } from "@milkdown/vue";
import { commonmark } from "@milkdown/preset-commonmark";
import { emoji } from "@milkdown/plugin-emoji";
import { history } from '@milkdown/plugin-history';
import { tooltip } from '@milkdown/plugin-tooltip';
import { menu, menuPlugin, defaultConfig } from "@milkdown/plugin-menu";

const { editor } = useEditor((root) =>
  Editor.make()
    .config((ctx) => {
      ctx.set(rootCtx, root);
      ctx.set(defaultValueCtx, "# Milkdown 💖 Vue");
    })
    .use(commonmark)
    .use(nord)
    .use(history)
    .use(menu)
    .use(tooltip)
);

</script>

在点击表格后发现出现

Uncaught Error: Context “InsertTable” not found, do you forget to inject it?

在这里插入图片描述

提示我们似乎没有注入表格相关的对象。

解决

这是由于 @milkdown/preset-commonmark 插件中没有集成表格,这里我们可以使用@milkdown/preset-gfm 该插件是Github私有的Markdown语法支持,他在内部已经集成了表格插件因此我们只需要替换commonmark,如下

import { gfm } from '@milkdown/preset-gfm';

...

const { editor } = useEditor((root) =>
  Editor.make()
    ...
    .use(gfm)
	...
);

若你同时启用了@milkdown/preset-commonmark@milkdown/preset-gfm插件

例如

Editor.make().use(gfm).use(commonmark)

它们将会出现冲突出现该错误

RangeError: Adding different instances of a keyed plugin (MILKDOWN_INLINE_NODES_CURSOR$)

在这里插入图片描述

删除.use(commonmark)就可以恢复正常

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值