#angular #angular-material
Вопрос:
Я рассмотрел все причины, по которым это происходит в Интернете, и я все еще не могу устранить вышеуказанную ошибку в «Источнике данных», может ли кто-нибудь увидеть что-то неправильное в моем коде?
HTML:
lt;table mat-table [dataSource]="dataSource" class="mat-elevation-z8"gt; lt;ng-container matColumnDef="position"gt; lt;th mat-header-cell *matHeaderCellDefgt;No.lt;/thgt; lt;td mat-cell *matCellDef="let element"gt;{{ element.position }}lt;/tdgt; lt;/ng-containergt; lt;tr mat-header-row *matHeaderRowDef="displayedColumns"gt;lt;/trgt; lt;tr mat-row *matRowDef="let row; columns: displayedColumns"gt;lt;/trgt; lt;/tablegt;
тс:
import { Component } from '@angular/core'; export interface PeriodicElement { position: number; } const ELEMENT_DATA: PeriodicElement[] = [ { position: 1 }, { position: 2 }, { position: 3 }, ]; /** * @title Basic use of `lt;table mat-tablegt;` */ @Component({ selector: 'app-component', templateUrl: 'app.component.html', }) export class AppComponent { displayedColumns: string[] = ['position']; dataSource = ELEMENT_DATA; }
Модуль:
import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; import { MatTableModule, MatSortModule } from '@angular/material'; @NgModule({ declarations: [AppComponent], imports: [BrowserModule, AppRoutingModule, MatTableModule, MatSortModule], providers: [], bootstrap: [AppComponent], }) export class AppModule {}
Я перепробовал все рекомендуемые изменения, такие как удаление «таблицы» в html, импорт MatDataSource, но по-прежнему ничего не исправляет эту проблему. Я удивлен, что эта таблица использует данные для нас или я использую ее неправильно, если я извлекаю данные из API?
Спасибо
Комментарии:
1. какую
@angular/material
версию вы используете?2. Похоже, импорт должен быть
import { MatTableModule } from '@angular/material/table';
иimport { MatSortModule } from '@angular/material/sort';
вместоimport { MatTableModule, MatSortModule } from '@angular/material';
3. Я использую 8.2.3, и именно по этой причине я думал, что импорт будет просто «@угловой/материал». Спасибо
4. Не могли бы вы, пожалуйста, предоставить стакблица?
5. Я всегда борюсь с Stackblitz и установкой зависимостей. Это просто всегда терпит неудачу, поэтому я не могу воссоздать это, чтобы поделиться, извините