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

Angular preSelected options in custom component not showing

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

到目前为止,我可以将对象列表传递给它,它会将其显示为选项,我还可以将我想要的预选值传递给它。然而,即使我可以通过 preSelected,它也不会将这些值显示为 selected。

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

这是我用来澄清的 stackblitz。 注意:加载时没有任何 selected。我希望预选值在创建时被 selected。

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

所有,我都能弄明白。

你的

中有一个叫做 [compareWith] 的东西

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

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

代码差异。 在我的下拉列表中-down.html 我补充说:

 [compareWith]="byId" 

入垫-select

在我的下拉列表中-down.ts 我补充说:

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

这能够将选项预选为对象。

如果有人有更好的答案,我会洗耳恭听。