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

Posted

技术标签:

【中文标题】选择新语言时,ngx quill 占位符不会改变【英文标题】:ngx quill placeholder not changing when selecting new language 【发布时间】: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>

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

【问题讨论】:

【参考方案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>

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

【讨论】:

以上是关于选择新语言时,ngx quill 占位符不会改变的主要内容,如果未能解决你的问题,请参考以下文章

移动表单占位符的文本颜色不会改变

错误“您输入的应用名称已被使用。”添加新语言时

iOS 占位符文本被裁剪,字体不会改变

UITextField 占位符颜色

文本框的占位符值不会更改为原始值?

PowerPoint2010占位符