Здравствуйте, я хочу добавить sh объект в массив данных элемента и показать в таблице, но когда я это делаю, ничего не происходит, моя таблица пуста. Я новичок в этом, и я учусь, где я допустил ошибку?
У меня есть компонент приложения и еще один компонент диалога, когда я вставляю информацию в диалоговое окно, при добавлении кнопки, при закрытии диалога я отправляю эти данные и pu sh в массив элементов данных.
Компонент приложения:
export interface PeriodicElement {
videoname: string;
url: string;
author: string;
description: string;
}
const ELEMENT_DATA: PeriodicElement[] = [];
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'Zadatak';
displayedColumns: string[] = ['videoname', 'author', 'description', 'url' ];
dataSource = ELEMENT_DATA;
constructor(public dialog: MatDialog, private changeDetectorRefs: ChangeDetectorRef) {}
openDialog(): void {
const dialogRef = this.dialog.open(AddVideoFormComponent);
dialogRef.afterClosed().subscribe(data => {
ELEMENT_DATA.push(data);
});
}
}
Компонент диалога:
export class AddVideoFormComponent implements OnInit {
videoForm: FormGroup;
constructor(public dialogRef: MatDialogRef<AddVideoFormComponent>) { }
ngOnInit() {
this.videoForm = new FormGroup({
videoname : new FormControl('', Validators.required),
url : new FormControl('', Validators.required),
author : new FormControl('', Validators.required),
description : new FormControl('', Validators.required),
});
}
onSubmit() {
this.dialogRef.close(this.videoForm.value);
}
}