问题描述
我想标记多个复选框,这些复选框基于我检索到的数据,换句话说,保持该状态与提交表单时相同,
我有一个带有多个复选框的表单,还有一个编辑按钮,可让我编辑表单,同时很容易为input[text]
检索相同的数据,但我不知道该如何更改我收到的数据中“已检查”复选框的状态为数组["M","3XL","7XL","10XL"]
形式。
现在,我要在用户单击“编辑”按钮时提交表单时保持选中这些复选框。
Component.ts
checkArrayEBXBR = [];
checkArrayJEBXO = [];
checkboxObject = [
{
checkboxLabel: "EBXBR",checkboxContainer: [
{
id: "0",label: "S",isChecked: false,},{
id: "1",label: "M",{
id: "2",label: "L",{
id: "3",label: "XL",{
id: "4",label: "2XL",{
id: "5",label: "3XL",{
id: "6",label: "4XL",{
id: "7",label: "5XL",{
id: "8",label: "6XL",{
id: "9",label: "7XL",{
id: "10",label: "8XL",{
id: "11",label: "9XL",{
id: "12",label: "10XL",],{
checkboxLabel: "JEBXO",];
changeSelection() {
this.fetchSelectedItems();
}
fetchSelectedItems() {
this.ebxbrselectedItemsList = this.checkboxObject[0].checkboxContainer.filter(
(value,index) => {
return value.isChecked;
}
);
this.checkArrayEBXBR = [];
this.checkArrayJEBXO = [];
for (let i = 0; i < this.ebxbrselectedItemsList.length; i++) {
this.checkArrayEBXBR.push(this.ebxbrselectedItemsList[i].label);
}
for (let i = 0; i < this.jebxoselectedItemsList.length; i++) {
this.checkArrayJEBXO.push(this.jebxoselectedItemsList[i].label);
}
console.log(this.checkArrayJEBXO)
console.log(this.checkArrayEBXBR)
}
component.html
<div class="form-group selection-container">
<h5 class="form-title">SKU</h5>
<div class="row" *ngFor="let item of checkboxObject; let i = index">
<div class="col-12">
<div class="form-group size-code">
<ion-label class="item-code">{{item.checkboxLabel}}</ion-label>
<ion-checkbox slot="end" value="pepperoni"></ion-checkbox>
</div>
</div>
<div class="col-12">
<div class="sizes-container">
<div class="form-group" *ngFor="let innerItem of checkboxObject[i].checkboxContainer">
<ion-label for="{{item.id}}" >{{ innerItem.label }}</ion-label>
<ion-checkbox
slot="end"
[(ngModel)]="innerItem.isChecked"
(ionChange)="changeSelection()"
name="{{ innerItem.isChecked }}"
[value]="innerItem.label"
id="{{innerItem.id}}"
></ion-checkbox>
</div>
</div>
</div>
</div>
</div>
您还可以注意到有2组复选框,并且我为每个复选框创建了一个单独的数组,如果有比为每个数组创建数组更好的方法,则我还有更多的复选框会很感激的。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)