Angular 模板驱动的文本字段值更新
这是购物车详细信息的模板。。Am更新购物车数量工作正常。但是如果没有库存,我需要更新以前的值或设置Angular 模板驱动的文本字段值更新,angular,typescript,Angular,Typescript,这是购物车详细信息的模板。。Am更新购物车数量工作正常。但是如果没有库存,我需要更新以前的值或设置 <form #myform="ngForm"> --added ng form <div class="col-lg-12 pl-3 pt-3"> <table class="table table-hover border bg-white">
<form #myform="ngForm"> --added ng form
<div class="col-lg-12 pl-3 pt-3">
<table class="table table-hover border bg-white">
<thead>
<tr>
<th>Product</th>
<th>Quantity</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let cart of cartItems;let i=index;">
<td>
<div class="row">
<div class="col-lg-10">
<h5 class="nomargin">{{cart.productName}}</h5>
</div>
</div>
</td>
<td data-th="Quantity">
<input
type="number"
class="form-control text-center"
min="1"
[(ngModel)]="cart.qty" name="quantity{{i}}"
(ngModelChange)="updateCart($event,cart)"
/>
</td>
</tr>
</tbody>
</table>
</div>
<form>
在这里,我需要检查库存不可用,我需要恢复到以前的值
有没有可能在angular 10模板驱动下完成这项工作?您就快到了。使用单向绑定代替双向绑定
<input type="number" [ngModel]="cart.qty" (ngModelChange)="updateCart($event,cart)" />
Stackblitz中的工作示例-您就快到了。使用单向绑定代替双向绑定
<input type="number" [ngModel]="cart.qty" (ngModelChange)="updateCart($event,cart)" />
Stackblitz中的工作示例-感谢您的回答。。实际上,如果Validation失败,输入的值保持不变,即i stock actual 15存在,如果我输入16,我必须在html中重置数量。是否可以使用ngform…谢谢你的意思-actual stock 15,用户输入:16,API调用并检查库存,在ui中显示错误消息,说明库存少于输入的数量,将用户输入从16恢复到15?是。。如果(result | | result==0),我必须更新到股票价值(这是我准备好的)其他方面与用户输入的内容相同..我已更新问题中的ts方法..我只需要UI应更新数量//硬编码值…谢谢让我知道是否可以更新ng形式的UI模型?@Glen查看更新的stackblitz谢谢回答。。实际上,如果Validation失败,输入的值保持不变,即i stock actual 15存在,如果我输入16,我必须在html中重置数量。是否可以使用ngform…谢谢你的意思-actual stock 15,用户输入:16,API调用并检查库存,在ui中显示错误消息,说明库存少于输入的数量,将用户输入从16恢复到15?是。。如果(result | | result==0)我必须更新到股票价值(这是所有准备就绪的)其他方面与用户输入的相同..我已经更新了问题中的ts方法..我只需要UI应该更新数量//硬编码值…谢谢让我知道是否可以更新ng形式的UI模型?@Glen查看更新的stackblitz
updateCart(newValue: any, cartItem: CartItem) {
// cartItem will have previous value until we assign the new event value
// To update cartItem with new value you would simply do
cartItem.qty = newValue;
}