Angular6 Material6 Error: «Может быть только одна строка по умолчанию без функции предиката when». - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь реализовать Table with expandable rows из https://material.angular.io/components/table/examples, но я получаю эту ошибку:

There can only be one default row without a when predicate function.

Эта ошибка происходит из-за того, что у меня есть два <tr mat-row ..., оба без предиката when (согласно примеру). Если я удаляю один, то ошибка исчезает.

Из моего собственного расследования я обнаружил, что эта функция является новой для материала. Я обновился до @ angular / material @ latest и @ angular / cdk @ latest, но ошибка все еще появляется.

Кто-нибудь знает, что мне нужно сделать, чтобы реализовать таблицу, как в примере из документации? https://material.angular.io/components/table/examples

Мои версии:

Angular CLI: 6.0.8
Node: 8.11.2
OS: win32 x64
Angular: 6.0.4
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.8
@angular-devkit/build-angular     0.6.8
@angular-devkit/build-optimizer   0.6.8
@angular-devkit/core              0.6.8
@angular-devkit/schematics        0.6.8
@angular/cdk                      6.3.1
@angular/cli                      6.0.8
@angular/flex-layout              6.0.0-beta.16
@angular/material                 6.3.1
@ngtools/webpack                  6.0.8
@schematics/angular               0.6.8
@schematics/update                0.6.8
rxjs                              6.2.0
typescript                        2.7.2
webpack                           4.8.3

Ответы [ 3 ]

0 голосов
/ 10 сентября 2018

У меня была такая же проблема. я обновил @ angular / cdk & @ angular / material до 6.4.7. И все работает нормально. Конечно, вам также нужен multiTemplateDataRows attr

0 голосов
/ 29 ноября 2018

Эта ошибка также может появиться, если функция в вашем предикате when не определена. Так что если у вас есть

<mat-tree-node *matTreeNodeDef="let node; when: hasChild">

и hasChild не определены, вы можете получить эту ошибку.

0 голосов
/ 30 июня 2018

Оказывается, я пропустил директиву multiTemplateDataRows из тега <table>:

<table mat-table [dataSource]="licenses" multiTemplateDataRows ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...