从选择框中删除选定的选项 [英] Remove the selected option from select box

查看:22
本文介绍了从选择框中删除选定的选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在制作带有角度形式的角度应用程序.

这里我给出了一个带有输入字段的表单 first name and last name 它将始终显示..

在那之后,我有孩子,点击添加按钮时会显示这些孩子,点击删除按钮时孩子会被删除.

截至目前一切正常.

在这里,我正在将数据修补到选择框中单击选项的输入中.. 必要的输入被修补..

HTML:

<form (ngSubmit)="onSubmit()" [formGroup]="form"><div *ngFor="let question of questions" class="form-row"><ng-container *ngIf="question.children"><div [formArrayName]="question.key"><div *ngFor="let item of form.get(question.key).controls; let i=index" [formGroupName]="i"><div *ngFor="let item of question.children"><app-question [question]="item" [form]="form.get(question.key).at(i)"></app-question>

<select multiple (change)="changeEvent($event)"><option *ngFor="let opt of people" [value]="opt.key">{{opt.value}}</option></选择>

</ng-容器><ng-container *ngIf="!question.children"><app-question [question]="question" [form]="form"></app-question></ng-容器>

<div class="form-row"><!-- <button type="submit" [disabled]="!form.valid">保存</button>-->

</表单><br><!-- 需要添加和删除按钮.. <br><br>--><button (click)="addControls('myArray')">添加</button><button (click)="removeControls('myArray')">删除 </button><br/><br/><预>{{form?.value|json}}

TS:

 changeEvent(e) {如果(e.target.value == 1){让 personOneChild = [{ property_name : "属性一" },{ property_name : "属性二" },]for (let i = 0; i  q.key == control);让孩子=问题?question.children : null;如果(儿童)(this.form.get(control) as FormArray).push(this.qcs.toFormGroup(children))}removeControls(控制:字符串){let array = this.form.get(control) as FormArray;array.removeAt(array.length - 1);}

清除工作stackblitz:

在这里你可以看到我已经删除了父级是模板三的属性名称三,即使我删除了它的子级,模板三仍然显示在选择框中

解决方案

首先,获取对 select 的引用,如下所示:

HTML:


                
            
发送“验证码”获取 | 15天全站免登陆