Angular 如何将所选项目添加到角度中的另一个多重选择?
如何将所选项目传递到另一个列表,以便以后可以使用最终的对象/数组 student.component.ts:Angular 如何将所选项目添加到角度中的另一个多重选择?,angular,typescript,Angular,Typescript,如何将所选项目传递到另一个列表,以便以后可以使用最终的对象/数组 student.component.ts: students= []; studentsFinal = []; onGetStudents() { this.studentService.getStudents() .subscribe( (students: any[]) => this.students = students, (error) =>
students= [];
studentsFinal = [];
onGetStudents() {
this.studentService.getStudents()
.subscribe(
(students: any[]) => this.students = students,
(error) => console.log(error),
);
}
student.component.html:
<h5>Final student list</h5>
<div class="col-xs-6">
<select name="multiselect1" multiple class="form-control" name="myselecttsms1">
<option *ngFor="let studentFinal of studentsFinal" value="{{ studentFinal.Id
}}">{{ studentFinal.Name }}</option>
</select>
<br>
</div>
<h5>Students</h5>
<div class="col-xs-6">
<select name="multiselect2" multiple class="form-control" name="myselecttsms2">
<option *ngFor="let student of students" value="{{ student.Id }}">{{ student.Name }}</option>
</select>
<br>
</div>
最终学生名单
{{studentFinal.Name}
学生
{{student.Name}
将[ngModel]添加到您的select和(ngModelChange)=“selectedStudents($event)”事件中
然后
{{student.Name}
基于问题和评论的完整示例:将[ngModel]添加到您的select和(ngModelChange)=“selectedStudents($event)”事件中 然后
{{student.Name}
基于问题和评论的完整示例:您能再解释一下您的问题吗?我不太明白你需要做什么。是的,当然。我的html中有两个选择项(1-学生姓名列表,2-指定学生)。两者都是多个选项,因此您可以选择多个项目。我有一个按钮,当我点击它时,我希望被选中的学生传递到另一个选择列表。这是一张图片:你能再解释一下你的问题吗?我不太明白你需要做什么。是的,当然。我的html中有两个选择项(1-学生姓名列表,2-指定学生)。两者都是多个选项,因此您可以选择多个项目。我有一个按钮,当我点击它时,我希望被选中的学生传递到另一个选择列表。这是一张图片:如何触发添加?它是自动触发的,我更新了答案以手动触发添加。我添加了assigne()方法以手动触发,但当我单击一个项目时,另一个列表会填充一个空白项目。哦,抱歉,您使用的是对象数组,这有点不同,我用object创建了一个简单的例子,并编辑了答案。没问题,谢谢你的帮助。对于双向“交流”,最简单的方式是什么?复制欧宝汽车时,我希望将其从第一个列表中删除,并能够复制到原始列表。如何触发添加?它是自动触发的,我更新了答案以手动触发添加。我添加了assigne()方法以手动触发,但当我单击某个项目时,另一个列表中填充了一个空白项。哦,对不起,您使用的是对象数组,这有点不同,我创建了一个简单的对象示例并编辑了答案。没问题,谢谢您的帮助。对于双向“交流”,最简单的方式是什么?当我复制欧宝汽车,我想删除它在第一个名单,并能够复制到原来的名单。
<select [ngModel]="assignedStudents" (ngModelChange)="selectedStudents($event)" name="multiselect2" multiple class="form-control">
<option *ngFor="let student of students" [ngValue]="student">{{ student.Name }}</option>
</select>
temporaryArray = [];
selectedStudents(students){
this.temporaryArray = students;
}
//called on button click
assigne(){
this.assignedStudents = this.temporaryArray;
}
<select multiple class="form-control">
<option *ngFor="let student of assignedStudents" [ngValue]="student">{{ student.Name }}</option>
</select>