首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何清除Slate.JS编辑器中的所有文本

如何清除Slate.JS编辑器中的所有文本
EN

Stack Overflow用户
提问于 2022-10-17 18:07:18
回答 1查看 77关注 0票数 1

在我的一生中,我不知道如何从slate.js中清除编辑器组件中的所有文本。

我试过:

代码语言:javascript
复制
Transforms.delete(editor, {}); -> doesn't do anything

editor.deleteBackward("line"); -> only deletes one line, not all

我也尝试过手动重命名编辑器组件,不幸的是,它没有更新到它的初始状态:(

我一直在撕扯着板岩杂志的文件,到处都找不到任何东西!如果有人有任何想法,一定会很高兴的。

以下是编辑器的实现方式:

代码语言:javascript
复制
  const editor = useMemo(() => withHistory(withReact(createEditor())), []);

 <Editable
      key={stateKey}
      onKeyDown={(event: any) => handleKeyDown(event)}
      style={{ overflowWrap: "anywhere", width: "100%" }}
      onPaste={(e) => {
        if (e.clipboardData) {
          if (e.clipboardData.files.length > 0) {
            setFiles([...files, ...Array.from(e.clipboardData.files)]);
            e.preventDefault();
          }
        }
      }}
      decorate={decorate}
      renderLeaf={renderLeaf}
      placeholder="What's happening?"
    />
EN

回答 1

Stack Overflow用户

发布于 2022-10-17 19:16:58

您可以变异editor.children并将其设置为“空”值。

代码语言:javascript
复制
const editor = useMemo(() => withHistory(withReact(createEditor())), []);

editor.children = [
    {
        type: "paragraph",
        children: [{ text: "" }]
    }
];

注意事项:Slate需要一个最少的数组来正确地呈现一个空文本节点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74101405

复制
相关文章

相似问题

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