Не удается прочитать свойство 'prodid' из неопределенного в ClientEditComponent.updateClient
У меня есть Компонент, названный как "Клиентский компонент", использующий базу данных firebase для целей базы данных, компонент материала для целей проектирования. Я работаю над операциями CRUD, которые я создал, удалил, но столкнулся с проблемой в обновлении. Данные клиента отображаются в сетке, и когда я щелкаю значок редактирования, вызывается дочерний компонент, и открывается "Форма редактирования клиента", и все поля в форме также заполняются предыдущими данными, но после изменения нажмите кнопку обновления в случае ошибки.
Обновить код.
updateClient(prod){
//this.clientservice.onUpdate(prodid);
this.items.doc(prod.prodid).update({
fname: this.fname,
lname: this.lname,
cemail: this.cemail,
caddress: this.caddress,
crole: this.crole,
}).then(() => {
console.log('Updated');
})
}
обслуживание
onUpdate(prod){
this.pro.collection("client").doc(prod).update(prod.prodid).then(function() {
console.log("Document successfully Updated!");
}).catch(function(error) {
console.error("Error updating document: ", error);
});
}
Получите данные в сетке формы клиента.
ngOnInit() {
this.firstFormGroup = this._formBuilder.group({
fname: ['Test', Validators.required],
lname: ['New test'],
email: [''],
});
this.secondFormGroup = this._formBuilder.group({
address: ['Test2', Validators.required],
role: [''],
});
/////Client-Edit////
this.route.params.subscribe(
(params: Params) => {
this.id = params['id'];
this.editMode = params['id'] != null;
this.initForm();
})
}
id: string;
editMode = false;
initForm() {
if (this.editMode) {
let items: any = this.clientservice.getClient(this.id)
.then((res:Client)=>{
//this.client = res;
this.firstFormGroup = this._formBuilder.group({
fname:[res.fname],
lname:[res.lname],
email:[res.cemail],
})
this.secondFormGroup = this._formBuilder.group({
address:[res.caddress],
role: [res.crole]
})
});
}
}