Невозможно привязать к «источнику данных», так как это не известное свойство «таблицы» - PullRequest
0 голосов
/ 08 мая 2018

Я новичок в угловой разработке 5.Я пытаюсь разработать таблицу данных с угловым материалом, используя приведенный ниже пример: "https://material.angular.io/components/table/examples".

Я получаю сообщение об ошибке: Can't bind to 'dataSource' since it isn't a known property of 'table'.

enter image description here

Пожалуйста, помогите.

Ответы [ 11 ]

0 голосов
/ 24 марта 2019

Вы должны изменить тег «table» на «mat-table».

это решит вашу проблему.

0 голосов
/ 30 марта 2019

если ваш "import {MatTableModule} из '@ angular / material';" находится в общем модуле, убедитесь, что вы экспортируете его.

sharedmodule.ts:

import { MatTableModule } from '@angular/material' 

@NgModule({
  imports: [
    // ...
    MatTableModule
    // ...
  ],
  exports:[ MatTableModule ]
})

затем в вашем пользовательском модуле, где вы определяете компонент, который использует таблицу материалов:

custommodule.ts:

@NgModule({
imports: [ sharedmodule ]     
})
0 голосов
/ 16 января 2019

Для угловых 7

Проверьте, где находится компонент вашей таблицы.В моем случае он был расположен как app / shared / tablecomponent, где общая папка содержит все подкомпоненты. Но я импортировал модуль материала в Ngmodules файла app.module.ts, что было неверно.В этом случае модуль Material должен быть импортирован в Ngmodules файла shared.module.ts, и он работает.

НЕТ НЕОБХОДИМОСТИ изменить 'table' на 'mat-table' в угловом 7.

Angular7 - Невозможно привязать к 'dataSource', так как это неизвестное свойство 'mat-table'

0 голосов
/ 17 марта 2019

Я также долго ломал голову над этим сообщением об ошибке, и позже я обнаружил, что я использую [источник данных] вместо [источник данных].

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

Не забудьте импортировать модуль MatTableModule и удалить элемент таблицы , показанный ниже для справки.
неправильная реализация
<table mat-table [dataSource]=”myDataArray”> ... </table>
правильная реализация:
<mat-table [dataSource]="myDataArray"> </mat-table>

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

Проблема в версии вашего углового материала, у меня такая же, и я решил ее, когда установил хорошую версию углового материала на локальном компьютере.

Надеюсь, это решит и тебя.

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

В примере материала используются неправильные теги таблицы. Изменение

<table mat-table></table>
<th mat-header-cell></th>
<td mat-cell></td>

<tr mat-header-row></tr>
<tr mat-row></tr>

до

<mat-table></mat-table>
<mat-header-cell></mat-header-cell>
<mat-cell></mat-cell>

<mat-header-row></<mat-header-row>
<mat-row></<mat-row>
0 голосов
/ 15 августа 2018

Не забудьте добавить MatTableModule в ваш app.module's imports, т.е.

import { MatTableModule } from '@angular/material'  

@NgModule({
  imports: [
    // ...
    MatTableModule
    // ...
  ]
})
0 голосов
/ 05 августа 2018
  • Angular Core v6.0.2,
  • Угловой материал, v6.0.2,
  • угловой CLI v6.0.0 (глобально v6.1.2)

У меня была эта проблема при запуске ng test, поэтому, чтобы исправить ее, я добавил в свой файл xyz.component.spec.ts:

import { MatTableModule } from '@angular/material';

И добавил его в раздел imports в TestBed.configureTestingModule({}):

beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [ ReactiveFormsModule, HttpClientModule, RouterTestingModule, MatTableModule ],
      declarations: [ BookComponent ],
      schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
    })
    .compileComponents();
}));
0 голосов
/ 08 мая 2018

Спасибо @ Jota.Toledo, я получил решение для создания моей таблицы.Пожалуйста, найдите рабочий код ниже:

component.html:

    <mat-table #table [dataSource]="dataSource" matSort>
          <ng-container matColumnDef="{{column.id}}" *ngFor="let column of columnNames">
            <mat-header-cell *matHeaderCellDef mat-sort-header> {{column.value}} </mat-header-cell>
            <mat-cell *matCellDef="let element"> {{element[column.id]}} </mat-cell>
          </ng-container>

          <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
          <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row>
        </mat-table>

component.ts:

    import { Component, OnInit, ViewChild } from '@angular/core';
    import { MatTableDataSource, MatSort } from '@angular/material';
    import { DataSource } from '@angular/cdk/table';

    @Component({
      selector: 'app-m',
      templateUrl: './m.component.html',
      styleUrls: ['./m.component.css']
    })
    export class MComponent implements OnInit {

      dataSource;
      displayedColumns = [];
      @ViewChild(MatSort) sort: MatSort;

      /**
       * Pre-defined columns list for user table
       */
      columnNames = [{
        id: "position",
        value: "No."

      }, {
        id: "name",
        value: "Name"
      },
      {
        id: "weight",
        value: "Weight"
      },
      {
        id: "symbol",
        value: "Symbol"
      }];

      ngOnInit() {
        this.displayedColumns = this.columnNames.map(x => x.id);
        this.createTable();
      }

      createTable() {
        let tableArr: Element[] = [{ position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H' },
        { position: 2, name: 'Helium', weight: 4.0026, symbol: 'He' },
        { position: 3, name: 'Lithium', weight: 6.941, symbol: 'Li' },
        { position: 4, name: 'Beryllium', weight: 9.0122, symbol: 'Be' },
        { position: 5, name: 'Boron', weight: 10.811, symbol: 'B' },
        { position: 6, name: 'Carbon', weight: 12.0107, symbol: 'C' }
        ];
        this.dataSource = new MatTableDataSource(tableArr);
        this.dataSource.sort = this.sort;
      }
    }

    export interface Element {
      position: number,
      name: string,
      weight: number,
      symbol: string
    }

app.module.ts:

imports: [
    BrowserModule,
    BrowserAnimationsModule,
    FormsModule,
    ReactiveFormsModule,
    HttpClientModule,
    AppRoutingModule,
    MatCardModule,
    MatProgressSpinnerModule,
    MatMenuModule,
    MatIconModule,
    MatToolbarModule,
    MatButtonModule,
    MatFormFieldModule,
    MatInputModule,
    MatSelectModule,
    MatSortModule,
    MatTableModule
  ],
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...