如何在 angular mat table 中将 'search' 框对齐到右侧?
How to align 'search' box to the right side in angular mat table?
我正在使用 mat-card
这样 add
按钮和 search
框需要水平对齐在一条线上。
我希望 add
在左侧,search
在右侧。
我在 html
之后写了,但是 search
没有对齐到右侧。
<div class="page-container">
<mat-card class="mat-elevation-z3">
<mat-card-title>Test Data</mat-card-title>
<form layout-align='center center' layout='column'>
<mat-form-field style="justify-content: flex-start">
<button mat-raised-button (click)="addClick()" color="primary" mat-raised-button>
<mat-icon>add_box</mat-icon>Add
</button>
</mat-form-field>
<mat-form-field style="justify-content: flex-end">
<input (keyup)="doFilter($event.target.value)" matInput placeholder="Search" type="text">
</mat-form-field>
</form>
</mat-card>
</div>
我也遇到了错误 - ERROR Error: mat-form-field must contain a MatFormFieldControl.
首先,您尝试使用 flexbox
,但没有声明 flex
容器。
您需要将 display: flex
添加到父元素,以便其子元素成为 flex
元素。
要将 search
框对齐到最右边,您可以使用 margin-left: auto
.
<div class="page-container">
<mat-card class="mat-elevation-z3">
<mat-card-title>Test Data</mat-card-title>
<form layout-align='center center' layout='column' style="display: flex">
<mat-form-field>
<button mat-raised-button (click)="addClick()" color="primary" mat-raised-button>
<mat-icon>add_box</mat-icon>Add
</button>
</mat-form-field>
<mat-form-field style="margin-left: auto">
<input (keyup)="doFilter($event.target.value)" matInput placeholder="Search" type="text">
</mat-form-field>
</form>
</mat-card>
</div>
解决你问题的第2个问题,可以直接按照官方问题排查instruction:
Error: mat-form-field must contain a MatFormFieldControl
This error occurs when you have not added a form field control to your form
field. If your form field contains a native or
element, make sure you've added the matInput directive to it and have
imported MatInputModule.
我正在使用 mat-card
这样 add
按钮和 search
框需要水平对齐在一条线上。
我希望 add
在左侧,search
在右侧。
我在 html
之后写了,但是 search
没有对齐到右侧。
<div class="page-container">
<mat-card class="mat-elevation-z3">
<mat-card-title>Test Data</mat-card-title>
<form layout-align='center center' layout='column'>
<mat-form-field style="justify-content: flex-start">
<button mat-raised-button (click)="addClick()" color="primary" mat-raised-button>
<mat-icon>add_box</mat-icon>Add
</button>
</mat-form-field>
<mat-form-field style="justify-content: flex-end">
<input (keyup)="doFilter($event.target.value)" matInput placeholder="Search" type="text">
</mat-form-field>
</form>
</mat-card>
</div>
我也遇到了错误 - ERROR Error: mat-form-field must contain a MatFormFieldControl.
首先,您尝试使用
flexbox
,但没有声明flex
容器。您需要将
display: flex
添加到父元素,以便其子元素成为flex
元素。要将
search
框对齐到最右边,您可以使用margin-left: auto
.
<div class="page-container">
<mat-card class="mat-elevation-z3">
<mat-card-title>Test Data</mat-card-title>
<form layout-align='center center' layout='column' style="display: flex">
<mat-form-field>
<button mat-raised-button (click)="addClick()" color="primary" mat-raised-button>
<mat-icon>add_box</mat-icon>Add
</button>
</mat-form-field>
<mat-form-field style="margin-left: auto">
<input (keyup)="doFilter($event.target.value)" matInput placeholder="Search" type="text">
</mat-form-field>
</form>
</mat-card>
</div>
解决你问题的第2个问题,可以直接按照官方问题排查instruction:
Error: mat-form-field must contain a MatFormFieldControl
This error occurs when you have not added a form field control to your form field. If your form field contains a native or element, make sure you've added the matInput directive to it and have imported MatInputModule.