Angular 15中floatLabel="never"的替代方案是什么?
Angular 15中替代
floatLabel="never"的方案 在Angular 15及后续版本的Angular Material中,floatLabel="never"属性已被弃用。针对你的场景(仅用占位符、无<mat-label>元素),直接移除该属性就能实现原来的效果——因为当<mat-form-field>内没有<mat-label>时,占位符默认不会浮动,完全满足你防止占位符浮动的需求。
修改后的代码如下:
<mat-form-field> <input matInput #searchInput="matInput" type="text" placeholder="Search" [value]="s.searchStore.query" (focus)="onSearchFocus()" autocomplete="off" #input/> <mat-icon [color]="searchInput.focused ? 'primary' : ''" matSuffix>search</mat-icon> </mat-form-field>
如果你的场景需要保留<mat-label>元素但不想让它浮动,目前可以继续使用floatLabel="never"(虽标记为弃用,但仍能生效),不过官方更推荐遵循Material Design的规范交互逻辑——比如使用appearance="outline"或appearance="fill"时,标签默认会在输入聚焦时浮动。
内容的提问来源于stack exchange,提问作者Ole
相关产品推荐
相关产品推荐

