1. ホーム
  2. angular6

Angular6 Material6エラー。"when述語関数を持たないデフォルトの行は1つしか存在できません。"

2023-11-24 23:17:28

質問

を実装しようとしています。 Table with expandable rows から https://material.angular.io/components/table/examples と入力しても、このようなエラーが発生します。

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

このエラーは、2つの <tr mat-row ... があり、両方ともwhen述語がないためです(例によって)。もし私が1つを削除したら、エラーは消えます。

私自身の調査から、この機能はMaterialの新機能であることがわかりました。私は @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

どのように解決するのですか?

それは私がディレクティブを欠いていたことが判明した multiTemplateDataRows から <table> タグを使用します。

<table mat-table [dataSource]="licenses" multiTemplateDataRows>