以下のコードのように、単純なform-field input
コンポーネントを使用しています
<mat-form-field class="example-form-field" >
<input matInput type="search" placeholder="Search" >
</mat-form-field>
デフォルトで入力された入力を入力すると、プレースホルダーが上に移動します。
入力フィールドに入力するときにプレースホルダーを非表示にするにはどうすればよいですか?
あなたが試すことができます:
デモ----> ソリューション
同じためのディレクティブを作成することもできます
必要に応じて(クリック)---->(フォーカス)を置き換えることができます
<mat-form-field floatLabel=never>
<input (click)="checkPlaceHolder()" (blur)="checkPlaceHolder()" matInput placeholder=" {{myplaceHolder}} ">
</mat-form-field>
TSの場合:
myplaceHolder: string ='Enter Name'
checkPlaceHolder() {
if (this.myplaceHolder) {
this.myplaceHolder = null
return;
} else {
this.myplaceHolder = 'Enter Name'
return
}
}
入力フィールドが空でないときにプレースホルダーを非表示にする方法を探しているときにこの質問に遭遇しました。私が見つけた解決策は、クリシュナの修正であり、mat-form-field
floatLabel
からalways
へのnever
引数:
<div class="example-container">
<mat-form-field
[floatLabel]="'never'">
<input matInput placeholder="Simple placeholder" required>
</mat-form-field>
</div>
このソリューションを試すことができます。
使用する [floatLabel]="'always'"
Stackblitz でデモを作成しました
<div class="example-container">
<mat-form-field
[floatLabel]="'always'">
<input matInput placeholder="Simple placeholder" required>
</mat-form-field>
</div>