我正在使用以下 ng-select 模块,但在使用简单数组时遇到了问题。
https://github.com/basvandenberg/ng-select
它期望的选项格式是一个对象数组:
{
value: string;
label: string;
}
但是我没有提供数据的选项。
我的对象:
{
name: "something",
tags: ["option1","option2","option3"],
tagPrimary: "",
...
}
在我的 Angular5 组件模板中:
<ng-select
placeholder="Select a primary option..."
[(ngModel)]="obj.tagPrimary"
[options]="obj.tags">
</ng-select>
现在使用它时,生成的下拉菜单有 3 个选项,但不显示任何内容,因为它正在寻找带有标签键的对象。
我试图创建一个可以正确格式化数据的函数。
function format(tags){
arr=[];
_.each(tags,function(tag){
obj.push({label: tag, value: tag});
}
return obj;
}
<ng-select
placeholder="Select a primary option..."
[(ngModel)]="obj.tagPrimary"
[options]="format(obj.tags)">
</ng-select>
尽管它现在可以正确呈现下拉列表,但这些项目是不可选择的。在查看 DOM 检查器的源代码时,似乎每个选项上的样式属性都会消失/重新出现(就像它正在重新初始化并一遍又一遍地触发函数一样。)
函数创建是否正确?