模型更改时如何在禁用的输入控件中保留值?
How to keep values in disabled input control when model changes?
我有一个 JSON 对象,我使用它创建了一个表单,每个值都有一个禁用控件和一个启用输入控件,禁用输入供用户参考,而他可能会更改活动输入控件中的值。我需要在禁用输入中保持值固定,同时使用相同的模型。任何帮助将不胜感激。
如果您使用模板驱动的表单,您可以对禁用的元素使用一次性绑定,这样它们就不会更新。
由于表单模型和数据模型已经分开,因此使用响应式表单会更容易。
这是一个示例(模板驱动的表单):
正常绑定(可编辑)的项目:
<input class="form-control"
id="productNameId"
type="text"
placeholder="Name (required)"
required
minlength="3"
[(ngModel)]=product.productName
name="productName" />
一次性绑定(不可编辑)项:
<input class="form-control"
id="productNameId"
type="text"
placeholder="Name (required)"
required
minlength="3"
ngModel=product.productName /* <- the difference is here */
name="productName" />
这是一个 stackblitz:https://stackblitz.com/edit/angular-hnyy5d
[(ngModel)]
-> 双向绑定
[ngModel]
-> 单向绑定
ngModel
-> 一次性绑定(只绑定初始值,不会更新)
我有一个 JSON 对象,我使用它创建了一个表单,每个值都有一个禁用控件和一个启用输入控件,禁用输入供用户参考,而他可能会更改活动输入控件中的值。我需要在禁用输入中保持值固定,同时使用相同的模型。任何帮助将不胜感激。
如果您使用模板驱动的表单,您可以对禁用的元素使用一次性绑定,这样它们就不会更新。
由于表单模型和数据模型已经分开,因此使用响应式表单会更容易。
这是一个示例(模板驱动的表单):
正常绑定(可编辑)的项目:
<input class="form-control"
id="productNameId"
type="text"
placeholder="Name (required)"
required
minlength="3"
[(ngModel)]=product.productName
name="productName" />
一次性绑定(不可编辑)项:
<input class="form-control"
id="productNameId"
type="text"
placeholder="Name (required)"
required
minlength="3"
ngModel=product.productName /* <- the difference is here */
name="productName" />
这是一个 stackblitz:https://stackblitz.com/edit/angular-hnyy5d
[(ngModel)]
-> 双向绑定
[ngModel]
-> 单向绑定
ngModel
-> 一次性绑定(只绑定初始值,不会更新)