[英]Slatejs reset element type after line-break
我正在使用 slatejs,我想知道:
如果我當前的 Element.type 是title
,看起來像<h1></h1>
,
但是當我點擊enter
時,它會創建一個新的<h1>
標簽。
如果我想要title
類型后的換行符並且新元素類型將成為默認值,我該怎么辦?
假設您的節點看起來像: {children: [{text: ''}], type: 'title'}
或類似的東西。
當您按enter
時,它會添加一個空節點,例如 {children: [{text: ''}], type: 'title'}
您應該能夠以這種方式修改insertBreak
行為以修改它添加的節點類型:
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()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.