我正在使用 mat-table 并且我试图将MatTableDataSource与 observable一起使用(我从 Web 服务获取数据),但我不知道如何配置MatTableDataSource以使用 observable 而不是数组。
这个问题的唯一解决方案是在ngOnInit方法中订阅 observable并在新数据到达时始终创建一个新的 MatTableDataSource 吗?
这是我到目前为止所拥有的,但我不知道这是否是使用可观察的MatTableDataSource的正确解决方案。
dataSource: MatTableDataSource<Thing>;
@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
@ViewChild(MatSort, { static: true }) sort: MatSort;
ngOnInit() {
getThings().subscribe(things => {
this.dataSource = new MatTableDataSource(things);
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
});
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的一个项目使用 Angular 6 Material 日期选择器。我需要禁用特定日期或为用户提供选择特定日期的选项(可以是一些随机日期)。
<mat-card>
<input matInput [matDatepicker]="picker" placeholder="Choose a date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #pickers></mat-datepicker>
<app-date-picker></app-date-picker>
</mat-card>
``
Run Code Online (Sandbox Code Playgroud) angular-material angular angular6 angular-material-datetimepicker
一般来说,我对角度和网络编程相当陌生,我正在尝试创建一个类似向导的表单,包括 5 个步骤。我为这 5 个步骤设置了一个路由,我的目标是防止用户通过 url 跳转到另一个步骤。他应该只使用我提供的两个“下一步”和“后退”按钮,并且只能通过这些按钮完成导航。我知道还有一些方法可以在不使用路由的情况下完成此操作,但我认为使用路由是一个很好的做法。
这些是我的路线:
const APP_ROUTES: Routes = [
{ path: '', redirectTo: '/1', pathMatch: 'full' },
{ path: '1', component: FormContainer1Component },
{ path: '2', component: FormContainer2Component },
{ path: '3', component: FormContainer3Component },
{ path: '4', component: FormContainer4Component },
{ path: '5', component: FormContainer5Component }
];
Run Code Online (Sandbox Code Playgroud) angular ×3
angular-material-datetimepicker ×1
angular6 ×1
angular8 ×1
mat-table ×1
observable ×1
typescript ×1