javascript - 在 TipTap 中将类添加到段落节点

标签 javascript tiptap

我一直在努力完成我认为在 TipTap 2.0 中非常简单的任务。我正在尝试将一个类添加到选定的段落中。我正在尝试的代码如下:

this.editor.chain().focus().updateAttributes('paragraph', {class:'lead'});

我希望每个段落都可以编辑。我不希望所有段落都添加相同的类。

最佳答案

经过进一步调查,我找到了解决方案。我最初的假设是错误的。我以为你使用 updateAttributes 直接向段落添加一个类。但是您需要使用自己的 'class' 属性扩展 Paragraph,然后您可以使用 renderHTML 修改 HTML。

const CustomParagraph = Paragraph.extend({
            addAttributes() {
                return {
                    class: {
                        default: null,
                        // Take the attribute values
                        renderHTML: attributes => {
                            // … and return an object with HTML attributes.
                            return {
                                class: `${attributes.class}`,
                            }
                        },
                    },
                }
            },
        })

this.editor = new Editor({
            element: this.tiptapEditorTarget,
            extensions: [
                CustomParagraph,
            ],
        });

this.editor.commands.updateAttributes('paragraph', {class:'lead'});

关于javascript - 在 TipTap 中将类添加到段落节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75581538/

相关文章:

json - 如何将来自 Tiptap 文本编辑器的内容放入 v-model?

javascript - Tiptap (Prosemirror) 提及标签的协作模式错误

tiptap - 在 tiptap 中将输入更改为换行而不是新段落

vue.js - 在 Vue 3 中将 tiptap 与 v-model 和 <script setup> 结合使用

javascript - 无法使用 $.post() 发布 javascript 对象

javascript - 如何获取在 Node 中调用函数的文件名和行号?

javascript - JavaScript 上的数字类型模拟

javascript - TipTap 编辑器中无法正确识别空格

javascript - Chart.js - 正确使用对象数组

javascript - 为什么像 Reddit 这样的社交网站都使用这种方法?