Как лучше принять данные в диалоговом окне?

На вход диалогового окна получаю данные:

constructor(@Inject(MAT_DIALOG_DATA) public data: { appid: number; raspprefect: Raspprefect }) {
}


Ниже приводится инициализация формы:

ngOnInit() {
        this.raspprefect = Object.assign({}, this.data.raspprefect);
        this.form = this.formBuilder.group({
            docnumber: [this.data.raspprefect.docnumber, [Validators.required]],
            docdate: [null],
        });
    }


Как лучше назначить данные из `public data` для элементов формы?

1 Вариант - подставить напрямую значения:

docnumber: [this.data.raspprefect.docnumber, [Validators.required]],


В таком случае может упасть конструкция: this.data.raspprefect.docnumber - если какого-то проперти нет

2 Вриант - передать флаг type = "edit" и дальше делать назначение:

if (data.type == 'edit') {
    this.form.get("a").setValue(this.data.raspprefect.docnumber);
}


Что тоже не решает вопрос с `this.data.raspprefect.docnumber`.

3 Вариант - создать инстанс класса `raspprefect`, в котором будет все поля - но зачем - если есть интефейс.
  • Вопрос задан
  • 18 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы