首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >quill错误'quill无效的Quill容器‘

quill错误'quill无效的Quill容器‘
EN

Stack Overflow用户
提问于 2018-03-14 17:35:10
回答 3查看 9.5K关注 0票数 6

我使用的是angular 4和羽毛笔编辑器。但是我得到了一个quill Invalid Quill container的错误。我更改了容器的名称,但它仍然返回错误,并且无法识别容器id。我在ngOninit中创建了我的羽毛笔对象,但它不工作!以下是我的代码:

代码语言:javascript
复制
import * as Quill from 'quill';
quill;
this.quill = new Quill('#editor-container', {
    modules: {
        toolbar: { container: '#toolbar-toolbar' }
    },
    theme: 'snow'
});

这是HTML文件:

代码语言:javascript
复制
<md-card>
  <div class="toolbar border-none" id="toolbar-toolbar">
    <span class="ql-formats">
      <select class="ql-size">
        <option value="small"></option>
        <option selected=""></option>
        <option value="large"></option>
        <option value="huge"></option>
      </select>
    </span>
    <span class="ql-formats">
      <button class="ql-bold"></button>
      <button class="ql-italic"></button>
      <button class="ql-underline"></button>
      <button class="ql-strike"></button>
    </span>
    <span class="ql-formats">
      <select class="ql-color"></select>
      <select class="ql-background"></select>
    </span>
    <span class="ql-formats">
      <button class="ql-list" value="ordered"></button>
      <button class="ql-list" value="bullet"></button>
      <select class="ql-align">
        <option selected=""></option>
        <option value="center"></option>
        <option value="right"></option>
        <option value="justify"></option>
      </select>
    </span>
    <span class="ql-formats">
      <button class="ql-link"></button>
    </span>
  </div>
  <hr class="ma-0">
  <div class="border-none capital" id="editor-container" #content>
    <span class="font direct"></span>
  </div>
</md-card>
EN

回答 3

Stack Overflow用户

发布于 2019-01-14 23:13:27

不幸的是,我不是一个角度专家,但我在Vue.js上遇到了完全相同的问题。问题是Quill是在DOM容器元素被正确呈现之前启动的。如果你能确保它(使用以后的生命周期钩子或者尝试在选项中而不是在标记中启动工具栏),它应该可以工作。

票数 8
EN

Stack Overflow用户

发布于 2020-06-15 22:53:35

在呈现DOM容器之前调用了Quill。您可以使用setTimeOut延迟构造羽毛笔

代码语言:javascript
复制
var editorId = "some-id-name"
setTimeout( () =>
{
    var container = document.getElementById(editorId);
    var editor    = new Quill( container );
}, 3000 );   
// 3000 millisec is maybe too long but too make sure that the problem is from creating 
// Quill before DOM
票数 2
EN

Stack Overflow用户

发布于 2018-12-05 18:12:29

还有其他人在研究这个问题,在我的例子中,将逻辑转移到ngOnInit解决了问题。或者在尝试初始化quill以呈现dom元素时进行检查。

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

https://stackoverflow.com/questions/49274106

复制
相关文章

相似问题

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