首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >断行后的Slatejs重置元素类型

断行后的Slatejs重置元素类型
EN

Stack Overflow用户
提问于 2021-12-30 03:30:22
回答 1查看 319关注 0票数 0

我和slatejs一起工作,我想知道:

如果我现在的Element.type是title,看起来像<h1></h1>

但是当我单击enter时,它将创建一个新的<h1>标记。

如果我想要title类型之后的换行,而新的元素类型变成默认的话,我应该做什么呢?

EN

回答 1

Stack Overflow用户

发布于 2022-02-01 07:01:52

假设您的节点看起来类似于:{children : [{text: ''}], type: 'title'}或类似于此行的内容。

当您按enter时,它会添加一个空节点,如{子节点:{text:‘},键入:'title'}

您应该能够以这种方式修改insertBreak行为,以修改它添加的节点类型:

代码语言:javascript
复制
const { insertBreak } = editor

  editor.insertBreak = () => {
    const { selection } = editor

    if (selection) {
      const [title] = Editor.nodes(editor, {
        match: n =>
          !Editor.isEditor(n) &&
          Element.isElement(n) &&
          (n.type === 'title')
      })

      if(title){
        Transforms.insertNodes(editor, {
          children: [{text: ""}],
          type: 'default'
        })
        return
      }
    }
    insertBreak()
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70527179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档