fromEvent observable仅在按下Enter键时发出值

时间:2019-11-12 15:36:40

标签: angular angular-material2

我正在关注本Material data table tutorial教程,该教程实现了可观察的表格过滤。

我想修改此代码以仅在按回车键时才进行分页。

fromEvent(this.input.nativeElement,'keyup')
   .pipe(
        debounceTime(150),
        distinctUntilChanged(),
        tap(() => {
            this.paginator.pageIndex = 0;
            this.loadLessonsPage();
        })
    )
    .subscribe();

我试图在按下“ Enter”键而不是任何键时发出fromEvent。

1 个答案:

答案 0 :(得分:1)

您可以使用过滤器运算符:

fromEvent(this.input.nativeElement,'keyup')
   .pipe(
        debounceTime(150),
        filter((e: KeyboardEvent) => e.keyCode === 13),
        distinctUntilChanged(),
        tap(() => {
            this.paginator.pageIndex = 0;
            this.loadLessonsPage();
        })
    )
    .subscribe();