【发布时间】:2018-08-02 21:28:04
【问题描述】:
抱歉,如果这是一个重复的问题,我是 Angular 的新手,我尝试实施了许多解决方案都无济于事,似乎找不到可以回答我的问题的线程。
我正处于设置 Web 应用程序的初始阶段,所以现在我正在使用 InMemoryDataService(我在 Laravel 中设置了服务,只是还没有绑定它们),如下所示:
import { InMemoryDbService } from 'angular-in-memory-web-api';
export class InMemoryDataService implements InMemoryDbService {
createDb() {
const passwords = [
{ id: 1, team_id: 1, team_name: 'Dragons', fname: 'Bob', lname: 'Smith'},
{ id: 2, team_id: 1, team_name: 'Dragons', fname: 'Jason', lname: 'Roberts'},
{ id: 3, team_id: 1, team_name: 'Dragons', fname: 'Mike', lname: 'Ferraro'},
{ id: 4, team_id: 2, team_name: 'Eagles', fname: 'Jeremy', lname: 'Lovano'},
{ id: 5, team_id: 2, team_name: 'Eagles', fname: 'Robert', lname: 'Casey'},
{ id: 6, team_id: 3, team_name: 'Wolves', fname: 'Mark', lname: 'Thomas'},
{ id: 7, team_id: 3, team_name: 'Wolves', fname: 'Steve', lname: 'Garner'}
];
return {clients};
}
}
我可以让它正常显示并使用 ngFor 构建一个数据表,但我还希望有一个仅使用独特团队的选择菜单,如下所示:
<select>
<option value="1">Dragons</option>
<option value="2">Eagles</option>
<option value="3">Wolves</option>
</select>
最好的方法是什么?
【问题讨论】:
-
您可以创建一个仅包含唯一项目数组的属性(这是最简单的解决方案),也可以创建一个 filter pipe 为您的记录分组(更可重用) .
-
这是very simple group by example。您可以遵循类似的模式。从服务返回数据后,将其分组,然后将其存储在名为
groupedData的字段中。