自定义组件中的Angular preSelected选项未显示

时间:2019-10-10 19:11:26

标签: angular typescript angular-material angular7 angular2-forms

我正在尝试制作一个具有多选下拉菜单的组件。当我创建此组件的实例时,我想将其传递给对象列表(在本例中为ICatagory)以显示为选项。我还想向其传递与预选值相同的对象(在我的情况下为ICatagory)的列表。

到目前为止,我可以将其传递给对象列表,并将其显示为选项,我还可以将其传递给所需的preSelected值。但是,即使我可以通过preSelected,也不会将这些值显示为选中状态。

https://stackblitz.com/edit/angular-aryu5y

这是我要澄清的堆叠闪电战。 注意:加载时,没有任何选择。我希望在创建时选择preSelected值。

对于Angular还是有些陌生,所以请原谅您看到的任何反约定模式。

1 个答案:

答案 0 :(得分:0)

所有,我都能弄清楚。

您的

中有[compareWith]

https://stackblitz.com/edit/angular-qpzg9s

^^^堆栈闪电与解决方案。^^^

代码差异。 在my-drop-down.html中 我添加了:

 [compareWith]="byId" 

进入垫选

在my-drop-down.ts中 我添加了:

byId(obj1,obj2){
 if(obj1 != undefined && obj2 != undefined){
    return obj1.id === obj2.id;
  }
}

这能够预先选择选项作为对象。

如果有人耳边有更好的答案。