对输入字段同时使用 value 和 ngModel 不起作用?
Using both value and ngModel for an input field not working?
这个概念是关于用户配置文件的。我想使用输入的 [value] 属性分配一个来自 api 的值(userData.email_id),并且在更改时我想使用 ngModel 变成 email_id 属性。
这里我无法使用 [value] 为输入赋值。给我建议解决方案。
注意:这里userData.email_id来自服务器。
TS:
email_id: string;
html:
<mat-form-field>
<input
type="text"
placeholder="Email"
matInput
[(ngModel)]="email_id"
[value]="userData.email_id"
name="uEmail"
/>
</mat-form-field>
您可以直接使用[(ngModel)]
并将值设置为该值,然后通过ngModelChange
[=29=获取更改] 如下,因此删除 [value]
<mat-form-field>
<input
type="text"
placeholder="Email"
matInput
[(ngModel)]="userData.email_id"
(ngModelChange)="sendData(userData)"
name="uEmail"
/>
</mat-form-field>
编辑
如果您不想在每个字段中都处理这个,您可以创建一个按钮,通过以下方式将所有更改发送到服务器,
<button (click)="sendData(userData)"></button>
在这种情况下,每个输入都不需要 ngModelChange
这个概念是关于用户配置文件的。我想使用输入的 [value] 属性分配一个来自 api 的值(userData.email_id),并且在更改时我想使用 ngModel 变成 email_id 属性。
这里我无法使用 [value] 为输入赋值。给我建议解决方案。
注意:这里userData.email_id来自服务器。
TS:
email_id: string;
html:
<mat-form-field>
<input
type="text"
placeholder="Email"
matInput
[(ngModel)]="email_id"
[value]="userData.email_id"
name="uEmail"
/>
</mat-form-field>
您可以直接使用[(ngModel)]
并将值设置为该值,然后通过ngModelChange
[=29=获取更改] 如下,因此删除 [value]
<mat-form-field>
<input
type="text"
placeholder="Email"
matInput
[(ngModel)]="userData.email_id"
(ngModelChange)="sendData(userData)"
name="uEmail"
/>
</mat-form-field>
编辑
如果您不想在每个字段中都处理这个,您可以创建一个按钮,通过以下方式将所有更改发送到服务器,
<button (click)="sendData(userData)"></button>
在这种情况下,每个输入都不需要 ngModelChange