Я пытаюсь создать приложение, которое позволит мне добавить нового пользователя в таблицу.Я получаю сообщение об ошибке:
"Свойство 'user' не существует для типа 'BugTableComponent'"
Я использую шаблоны материалов, и нет ни одногопозволяет мне делать именно то, что я хочу.Насколько я понимаю, проблема в том, что существующий массив находится за пределами bugTablecomponent
, поэтому его невозможно найти.С другой стороны, если я помещу массив в компонент, он не может быть «достигнут» таблицей.Каким может быть решение такой проблемы?
Извините за слабость моего технического языка, я новичок в этом.
HTML:
<mat-table #table [dataSource]="myDataArray" class="mat-elevation-z8">
<ng-container matColumnDef="userName">
<th mat-header-cell *matHeaderCellDef>Name</th>
<td mat-cell *matCellDef="let user"> {{user.userName}} </td>
</ng-container>
<ng-container matColumnDef="age">
<th mat-header-cell *matHeaderCellDef>Age</th>
<td mat-cell *matCellDef="let user"> {{user.age}} </td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="columnsToDisplay">
</tr>
<tr mat-row *matRowDef="let dataSource; columns: columnsToDisplay"></tr>
</mat-table>
<p>
<mat-form-field apparence="legacy">
<mat-label>Name</mat-label>
<input matInput [(ngModel)]="user.userName" type="text" name="newuserName" id="newuserName" class="form-control">
</mat-form-field>
<mat-form-field apparence="legacy">
<mat-label>Age</mat-label>
<input matInput [(ngModel)]="user.age" type="text" name="newuserAge" id="newAge" class="form-control">
</mat-form-field>
</p>`enter code here`
<button mat-button type="button" (click)="addName()">submit</button>
TypeScript:
export class BugTableComponent {
columnsToDisplay: string[] = ["userName", "age"];
myDataArray = USER_DATA;
addName() {
this.myDataArray.push(this.user);
this.user = {};
}
}
let USER_DATA: user[] = [
{ userName: "Wacco", age: 12 },
{ userName: "Wacca", age: 13 },
{ userName: "Waccu", age: 14 }
];
export interface user {
userName: string;
age: number;
}