如何为特定用户设置日期信息过滤器?

时间:2018-07-11 08:12:15

标签: angular typescript

我有两个过滤器,它们无法正常工作。首先,在从列表中选择了一个特定用户之后,尽管注释中设置了某个日期,但不输出任何内容,因此该日期中所有用户的所有日期的所有信息都会显示在注释中。其次,如果我开始更改select中的日期,那么尽管最初选择了某个用户,但所有用户的所有信息将开始显示。下面我给出了这些过滤器的代码。我怎样才能解决这个问题?请告诉我。

  selectedUser = null;
  users: Array<User>;
  notes: Array<Note>;
  years: Array<Year>;
  filteredNotes = [];




//Filter datas for the selected user
SelectedUser(userId) {
  this.selectedUser = this.users.find(el => {
    return el.user_id === userId
  });
  this.filteredNotes = this.notes.filter((note) => note.n_users_id == this.selectedUser.user_id);
}

//Filter data by date selection from the list

onYearSelection(year){
    this.filteredNotes = []
    this.filteredNotes = this.notes.filter(note => note.years  == year);
}

也就是说,我如何组合这些操作。因此,我选择了用户选择所需的日期,并显示了该用户的所有可用信息以及所选的日期。

1 个答案:

答案 0 :(得分:0)

this.filteredNotes = this.notes.filter(proj => years.indexOf(proj.year)!= -1)

在ES6中,您可以使用Array.includes

this.years.includes(proj.year)