Angular ng内的文本框,仅在有数据时显示
我在做角形的。我在页面中有一些文本框,单击一个按钮,我从数据库中选择数据并在文本框中显示 文本框在我显示数据之前不可见,我是新用户,请帮助 ts中的代码:Angular ng内的文本框,仅在有数据时显示,angular,Angular,我在做角形的。我在页面中有一些文本框,单击一个按钮,我从数据库中选择数据并在文本框中显示 文本框在我显示数据之前不可见,我是新用户,请帮助 ts中的代码: addItems(value: any) { this.items = new IComboDetails(value.ItemID, value.ItemCode, value.ItemDescription, value.PackingtypeID, value.PackingtypeName, value.quantity);
addItems(value: any) {
this.items = new IComboDetails(value.ItemID, value.ItemCode, value.ItemDescription, value.PackingtypeID, value.PackingtypeName, value.quantity);
this.stockitems.push(this.items);
}
我的文本框代码:
<div class="col-md-12 col-sm-12 col-xs-12">
<div *ngFor="let match of stockitems">
<input type="text" class="form-control" placeholder="Item Code" required="" [(ngModel)]="match.ItemCode" value="{{match.ItemCode}}" />
</div>
</div>
按钮代码:
<input type="button" value="Add Item" class="btn btn-success" (click)="addItems(newStockoutForm.value);newStockoutForm.reset()" />
<input type="button" value="Add Item" class="btn btn-success" (click)="addItems(newStockoutForm.value);newStockoutForm.reset()" />
我不需要
ngFor
循环,我只返回一个数据,但我不知道如何加载该数据。如您所述,您有以下要求:
1) 只有一个文本框
2) 应该从服务器端填充模型值
3) 应该在DOM中显示空文本框,直到收到模型值
您可以执行以下操作来解决:
1) 对于这种情况,数据结构数组是错误的,因为您只有一个值
item={ItemCode:''}; // whatever fields in this object, empty on page-load
addItems(value: any) {
this.item.ItemCode=value; // map the corresponding value to the model
}
2) 无需循环,只需映射模型即可
<div>
<input type="text" class="form-control" placeholder="Item Code [(ngModel)]="item.ItemCode" value="{{item.ItemCode}}" />
</div>
项目代码
项目代码
添加项
`
})
在组件类中有stockitems
,而在itemdetails
上循环。可能还有其他一些事情可能是错误的。你能提供一个最小的可复制的stackblitz样本吗?我相信@JM的意思是,除非他从服务器获取数据,“itemDetails”将为空,因此在DOM文本框中不会呈现,并且只有当他获取数据时才会出现。我猜,他想展示空盒子。@JM,现在,由于数组中可能有不同数量的项,因此文本框的数量也不同,所以您无法判断要渲染多少个,除非实际需要received@yanky_cranky是的,我想显示空文本框。将只有一个文本框get RenderId我不需要ng for循环,但我不知道如何在没有that@JM您可以在ngOnInit
const item=new-IComboDetails(“,”“,”“,”“,”“,”“,”)中传递单个空白对象;this.stockitems=[item]代码>@JM这能回答你的问题吗?
<ng-container *ngIf="!itemdetails || itemdetails.length == 0">
<label>Item Code</label>
<input type="text" class="form-control" name="temporaryField" />
</ng-container>
<div *ngIf="itemdetails && itemdetails.length > 0">
<ng-container *ngFor="let item of itemdetails">
<label>Item Code</label>
<input type="text" class="form-control" id="itemcode" name="itemcode" [value]="item.ItemCode" required />
</ng-container>
</div>
<br/><br/>
<button (click)="addItem()">Add Item</button>
</div>
`
})