Angular 如何获取角度材质Multiselect的当前状态(已选中或未选中)

Angular 如何获取角度材质Multiselect的当前状态(已选中或未选中),angular,material-ui,angular-material2,Angular,Material Ui,Angular Material2,我正在使用MatSelect进行多项选择。我想要ex当前项目的状态。当前单击的项目已选中或未选中。基于状态,我将不得不打开一个对话框。如果他们有一些文档 selected:MatOption | MatOption[]当前选择的选项 编辑 在HTML中 <mat-select #select (change)="x()" ...> <option *ngFor="let x of y" ...></option>

我正在使用MatSelect进行多项选择。我想要ex当前项目的状态。当前单击的项目已选中或未选中。基于状态,我将不得不打开一个对话框。

如果他们有一些文档

selected:MatOption | MatOption[]
当前选择的选项

编辑 在HTML中

<mat-select #select (change)="x()" ...>
  <option *ngFor="let x of y" ...></option>
</mat-select>

现在您有了选定的值(因此也有了未选定的值)

如果它们有一些文档的话

selected:MatOption | MatOption[]
当前选择的选项

编辑 在HTML中

<mat-select #select (change)="x()" ...>
  <option *ngFor="let x of y" ...></option>
</mat-select>

现在您在mat选项上有了选定的值(以及未选定的值)

,您可以添加单击事件并将其记录到跟踪:

<mat-option value="abc" (click)="onOptionClick($event)">abc</mat-option>

在mat选项上,可以添加单击事件并将其记录到跟踪:

<mat-option value="abc" (click)="onOptionClick($event)">abc</mat-option>

Easist方法只需将$event.target.selected传递给.ts中的方法,就可以根据状态打开一个对话框

in.html

<mat-option value="val" (click)="onClick($event.target.selected)">val</mat-option>

Easist方法只需将$event.target.selected传递给.ts中的方法,就可以根据状态打开一个对话框

in.html

<mat-option value="val" (click)="onClick($event.target.selected)">val</mat-option>

从Angular 6开始,这对我来说是有效的(仅在Safari中测试)

HTML


从Angular 6开始,这对我来说是有效的(仅在Safari中测试)

HTML


你能多解释一点或任何代码参考吗?我只想知道点击下拉列表中的一个项目是点击选中还是点击取消选中。这相当复杂,这意味着通过上面的代码,它给出了选中的值,在该值之后,必须比较未选中的值,还有其他选项吗?我期待一个1-2行的代码,这将为我做一个把戏。当前,若我选择了,那个么会发生什么?若我取消选择,那个么事件也会被调用。若你们想得到所选的项目,这就是目的。如果您取消选择一个项目,则选中和未选中的数组都会更改,因此您需要检查更改。唯一的问题是我的代码-->{{tag.name},因此在每次选中/取消选中IsSelectedTagScallBack()方法时,每个事件都必须选中它,然后从选项中删除代码。。。我不应该告诉你,你也应该站在你这边工作,你知道。你能解释更多或者任何代码参考吗?我只想知道点击下拉列表中的一个项目是点击选中还是点击取消选中。这相当复杂,这意味着通过上面的代码,它给出了选中的值,在该值之后,必须比较未选中的值,还有其他选项吗?我期待一个1-2行的代码,这将为我做一个把戏。当前,若我选择了,那个么会发生什么?若我取消选择,那个么事件也会被调用。若你们想得到所选的项目,这就是目的。如果您取消选择一个项目,则选中和未选中的数组都会更改,因此您需要检查更改。唯一的问题是我的代码-->{{tag.name},因此在每次选中/取消选中IsSelectedTagScallBack()方法时,每个事件都必须选中它,然后从选项中删除代码。。。我不必告诉你,你也应该在你这边工作,你知道。尝试使用上面的一个,但是target.selected属性未定义使用上面的一个,但是target.selected属性未定义在目标对象中没有选择这样的属性名称。检查其当前状态的任何其他标志?在目标对象中没有选择此类属性名称。检查其当前状态的任何其他标志?
<input (change)="yourFunction($event)" type="checkbox" name="your-name">
private yourFunction(event)
{
   console.log(event.target.checked);
}