首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >默认选择的MatChips不与MatChipList selected属性同步

默认选择的MatChips不与MatChipList selected属性同步
EN

Stack Overflow用户
提问于 2019-01-23 13:07:30
回答 1查看 647关注 0票数 1

默认选择的MatChips不与MatChipList同步选择属性,初始选择的芯片是空的,尽管选择了Lime。当我们再次双击时,芯片将被添加到选定的,但不是最初。演示这里

EN

回答 1

Stack Overflow用户

发布于 2019-01-24 14:12:11

我希望它能帮到你:StackBlitz在这里

HTML:

代码语言:javascript
复制
<mat-chip-list #chipList multiple="true">
  <mat-chip *ngFor="let fruit of fruits" [value]="fruit.name" [selected]="fruit.selected" (click)="onSelectFruit(fruit)">
    {{fruit.name}}
  </mat-chip>
</mat-chip-list>
<div class="hintLabel">Select Fruits</div>
<br/>
  <button (click)="getSelectedChips()">Get Selected Chips</button>
<br/><br/>
<b>Selected Chips:</b>{{array | json}}<br/><br/>
<b>Dynamic Selected Chips:</b>{{arrayDynamic | json}}

TS:

代码语言:javascript
复制
array: Fruit["name"][] = [];
arrayDynamic: Fruit["name"][] = [];

ngOnInit(){
  for (let fruit of this.fruits) {
    if(fruit.selected){this.arrayDynamic.push(fruit.name);}
  }
}

onSelectFruit(fruit){
  fruit.selected=!fruit.selected
  this.arrayDynamic = [];
  for (let fruit of this.fruits) {
    if(fruit.selected){this.arrayDynamic.push(fruit.name);}
  }
}

getSelectedChips() {
  this.array = [];
  for (let fruit of this.fruits) {
    if(fruit.selected){this.array.push(fruit.name);}
  }
}

演示:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54327995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档