Angular 2 Material Input动态更改占位符

mai*_*idi 6 javascript placeholder typescript angular-material angular

我想动态更改输入占位符的文本。console.log已经提供了更新的字符串,但是接口没有更新,因此保留了旧的占位符。如何获得界面来识别更改?

document.getElementById(this.implicKey).setAttribute('placeholder', options[i].implication);

console.log(document.getElementById(this.implicKey).getAttribute('placeholder'));
Run Code Online (Sandbox Code Playgroud)

Cha*_*oot 10

您可以像这样动态地更改输入占位符

<md-input-container class="demo-full-width">
                <input mdInput [(ngModel)]="firstname" placeholder="{{somePlaceholder}}" name="firstname" required>
                <md-error>This field is required</md-error>
            </md-input-container>
Run Code Online (Sandbox Code Playgroud)

component.ts

somePlaceholder : string = "new value";
Run Code Online (Sandbox Code Playgroud)

现在您可以在类中的任何位置更改somePlaceholder值。


EQu*_*ado 6

我们可以使用属性绑定来做到这一点。

在 HTML 中,使用方括号:

<input formControlName="events" type="text" [placeholder]="newPlaceHolder">
Run Code Online (Sandbox Code Playgroud)

在您的打字稿文件中,定义属性:

newPlaceHolder: string = "original place holder";
Run Code Online (Sandbox Code Playgroud)

然后,更改属性值:

newPlaceHolder= "my new place holder";
Run Code Online (Sandbox Code Playgroud)