我是在追随https://lexical.dev/docs/getting-started/quick-start

这似乎很直截了当.

import { createEditor } from 'lexical';

@Component({
  selector: 'app-root',
  standalone: true,
  template: `
    <div contenteditable="true" #editable></div>
  `,
})
export class App implements AfterViewInit {
  private editor = createEditor();

  @ViewChild('editable') editable?: ElementRef<HTMLDivElement>;

  ngAfterViewInit() {
    const el = this.editable?.nativeElement;
    if (el) {
      this.editor.setRootElement(el);
      console.log('set');
    } else console.log('nop');
  }
}

Stackblitz

我什么也得不到,也没有出错.我错过了什么吗?

推荐答案

仔细研究后,Lexical是一个所见即所得的复杂野兽,它需要自己的插件才能工作.

为了获得基本的文本输入,您需要安装一个单独的模块:

import { registerPlainText } from '@lexical/plain-text';

然后修改您的示例代码,如下所示:

export class App implements AfterViewInit {
  editor: LexicalEditor = createEditor();

  @ViewChild('editable') editable?: ElementRef<HTMLDivElement>;

  ngAfterViewInit() {
    if (this.editable) {
      this.editor.setRootElement(this.editable.nativeElement);
      registerPlainText(this.editor);
    }
  }
}

https://stackblitz.com/edit/stackblitz-starters-z7qv1j?file=src%2Fmain.ts

附注,Lexical是由Meta维护的,旨在与Reaction一起使用.文档中的大多数示例都是REACTIVE,如果您没有使用REACTIVE,仅运行基本设置就需要相当多的代码.我建议使用不同的所见即所得,Angular 类似于Quill.

Javascript相关问答推荐

JS、C++和C#给出不同的Base 64 Guid编码结果

仅圆角的甜甜圈图表

按钮未放置在html dis位置

从PWA中的内部存储读取文件

React 17与React 18中的不同setState行为

Snowflake JavaScript存储过程返回成功,尽管预期失败

google docs boldText直到按行执行应用脚本错误

在我的html表单中的用户输入没有被传送到我的google表单中

如何在模块层面提供服务?

如何调用名称在字符串中的实例方法?

如何从隐藏/显示中删除其中一个点击?

检索相加到点的子项

如何在Svelte中从一个codec函数中调用error()?

OpenAI转录API错误请求

<;img>;标记无法呈现图像

try 将Redux工具包与MUI ToggleButtonGroup组件一起使用时出错

Django导入问题,无法导入我的应用程序,但我已在设置中安装了它

Django模板中未加载JavaScript函数

$GTE的mongoose 问题

将以前缓存的 Select 器与querySelector()一起使用