ngx quill占位符在选择新语言时不会改变

时间:2018-02-24 11:12:48

标签: angular placeholder quill

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

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

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

2 个答案:

答案 0 :(得分:1)

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

在Angular中,您的主轴代码可能像这样:

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;      
     }
  }

答案 1 :(得分:0)

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

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

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

应该可以解决上述问题。