【问题标题】:ngx quill placeholder not changing when selecting new language选择新语言时,ngx quill 占位符不会改变
【发布时间】:2018-08-04 08:32:36
【问题描述】:

对于一个学校项目,我们使用 angular v4.4.6,ng2-translate 用于翻译,ngx-quill@1.6.0 用于文本编辑器。当我像这样使用占位符属性时:

<quill-editor placeholder="{{'Topic.new.quill-placeholder' | translate}}"...></quill-editor>

然后我的占位符采用当前语言的值,但是当我选择一种新语言时,我的占位符不会改变。 我不知道为什么,想知道这个问题是否有解决方案?

【问题讨论】:

    标签: angular placeholder quill ngx-quill


    【解决方案1】:

    Dynamically change Quill placeholder 提供的解决方案对我有用: quill.root.dataset.placeholder = 'Your new placeholder';

    在 Angular 中,您的 quill 代码可能是这样的:

    let editor = this.container.nativeElement.querySelector('#editor');
    this.editor = new Quill(editor, {
                  theme: 'snow',
                  placeholder: this.placeholder
                });
    

    您的占位符属性可能是这样的:

    @Input()
    get placeholder() {
       return this._placeholder;
    }
    set placeholder(plh) {
       this._placeholder = plh;
       this.stateChanges.next();
    }
    public _placeholder: string;
    

    所以你需要做的是在属性设置器中添加一些代码来更新占位符,如下所示:

    set placeholder(plh) {
         this._placeholder = plh;
         this.stateChanges.next();    
         if (this.editor != null) {      
          this.editor.root.dataset.placeholder = this._placeholder;      
         }
      }
    

    【讨论】:

      【解决方案2】:

      注意:到现在(7 个月后)你应该已经找到了解决方案。

      但我认为您缺少的是在框中设置占位符。

      <quill-editor [placeholder]="'Topic.new.quill-placeholder'|translate"...></quill-editor>
      

      应该可以解决上面的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多