我有一个复选框,我填充如下
<div repeat.for="list of Items" change.delegate="getClicked()" >
<md-checkbox checked.bind="List" model.bind="list" >${list.name}</md-checkbox>
</div>
我的 ts 页面中有另一个列表,它返回所有项目并存储如下
getClicked()
{
let result= this.ItemList // this object contains a list of items
}
我想要实现的是,如果我单击复选框,我想获取 id 并在 ItemList 对象上对其进行过滤以仅返回该项目。
这就是我所拥有的
getClicked() {
let Id = this.List.map(x=> x.id);
let result = this.ItemList.filter(x => x.ItemId === Id)
}
Items=[{ id: 11125e, name:"coke" },
{ id: 11125e,name:"juice" },
{ id: 33e4,name:"chips" }]
我遇到的问题是我的结果总是以 [] 为空返回。
例如,当我获得 id 时,这就是发生的事情
let Id = this.List.map(x=> x.id);// id returned["11125e"]
let result = this.ItemList.filter(x => x.ItemId ===["11125e"] ) // id gets passed with [] around it
但如果我必须手动测试并且我在没有 [] 的情况下执行此操作,我会得到结果
let result = this.ItemList.filter(x => x.ItemId ==="11125e" )
所以我的问题是我怎么得到this.List.map(x=> x.id);// id returned["11125e"] to be "11125e"