2

我正在使用带有 ngx-quill NPM 包的 Quill 编辑器。一切都很好,只是我无法触发(模糊)事件。

现在,我让它在编辑器中的每个文本更改时触发。这是控制器

ngOnInit() {
  this.adminForm.controls['content'].valueChanges.subscribe(data => {
   console.log('Changed Values', data);
  });
}

这是HTML:

<quill-editor (change)="validateChange(field)" [formControlName]="field.id" [id]="field.id"></quill-editor>

但是,当我移动到不同的输入时,(更改)事件当然会停止触发,并且我找不到访问(模糊)事件的方法。我真正需要的是当表单域失去焦点时触发的 observable。我正在使用 Angular 5 反应式(动态)表单。

感谢您的任何想法!

4

1 回答 1

0

我使用 quill-editor 进行评论,我想集中精力检查用户是否未登录我在登录页面上重定向他,下面你有 quill-editor 组件和 (onContentChanged)="onContentChanged($event)"quill 具有的事件发射器。

<quill-editor
    theme="bubble"
    [placeholder]="quillConfig.placeholder"
    [modules]="quillConfig.moduleConfig"
    [(ngModel)]="quillData"
    (onContentChanged)="onContentChanged($event)"
    (onSelectionChanged)="onSelectionChanged($event)"
    (onEditorCreated)="getEditorInstance($event)">
</quill-editor>

现在我将onContentChanged($event)函数附加到(onSelectionChanged)quill eventEmitter,所以检测到一些变化的 quill 组件正在调用

 onContentChanged(event: any) {
    if (!this.userAccount && event.oldRange === null && event.range !== null) {
      this.router.navigate(['/login']);
    }
  }

所以你应该有相同的功能,但检查这个条件

if (range === null && oldRange !== null) {
   //(blur event) occur and do something
}

如果您有更多问题,请随时提问。

于 2019-05-31T09:04:53.567 回答