Я использую угловой для операции CRUD.
Логика: -
Я хочу использовать список таблиц и редактировать, создавать, просматривать методы хотят сделать в единой форме.
Для таблицы я использовал следующий код для кнопок.
ТАБЛИЦА КОМПОНЕНТОВ HTML
<button type="button" pButton icon="fa fa-plus"class="ui-button-success" label="New" [routerLink]="['/master/productcategory']">
</button>
<button type="button" pButton icon="fa fa-pencil" iconPos="left" class="ui-button-success" [routerLink]="['/master/productcategory/edit',productcategory.id]">
</button>
<button type="button" pButton icon="fa fa-eye" iconPos="left" class="ui-button-success" [routerLink]="['/master/productcategory/view',productcategory.id]">
</button>
Вот моя таблица.
![enter image description here](https://i.stack.imgur.com/yKGdu.png)
- Когда мы нажимаем на кнопку edit, нам нужно показать кнопку SAVE & CANCEL
![enter image description here](https://i.stack.imgur.com/yrVzm.png)
- Когда мы нажимаем на новое, нам нужно показать кнопку CREATE & CANCEL
![enter image description here](https://i.stack.imgur.com/fr5XC.png)
- И для просмотра, только Кнопка ОТМЕНА должна быть видимой
Проблема: -
Я использовал логику, которая, когда идентификатор передается из таблицы, затем сохраняется в переменной productCategoryIdToUpdate .
Затем, используя условие if else, я написал это,
IF (productCategoryIdToUpdate === null
) затем выполните функцию CREATE. В противном случае сделайте функцию обновления.
Теперь мне нужно передать идентификатор для редактирования и просмотра. Из-за логики, которую я написал, такая же форма редактирования также отображается в форме VIEW.
Как мне написать логику для редактирования и просмотра. Кто-нибудь может мне помочь ??
** ФОРМА HTML: - **
<div class="ui-grid-col-1">
<button type="submit" pButton label="Create"
[disabled]="!productCategoryForm.valid"
*ngIf="!productCategoryIdToUpdate">
</button>
<button type="submit" pButton label="Save"
[disabled]="!productCategoryForm.valid"
*ngIf="productCategoryIdToUpdate">
</button>
</div>
<div class="ui-grid-col-1">
<button type="button" class="ui-button-secondary" pButton
label="Cancel" (click)="backToCreateProductCategories()">
</button>
</div>
FORM COMPONENT.TS
onProductCategoryFormSubmit() {
if (this.productCategoryForm.invalid) {
return;
}
let productCategory = this.productCategoryForm.value;
if (this.productCategoryIdToUpdate === null) {
//Create product
this.service.createProductCategory(productCategory).subscribe(
successCode => {
this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Product Created' });
this.backToCreateProductCategories() ;
}
);
} else {
//Handle update product
productCategory.id = this.productCategoryIdToUpdate;
this.service.updateProductCategory(productCategory).subscribe(
successCode => {
this.messageService.add({ severity: 'success', summary: 'Success', detail: 'Product Editted' });
}
);
}
}
Для возврата к столу (кнопка отмены)
backToCreateProductCategories() {
this.productCategoryIdToUpdate = null;
this.router.navigate(['/master/productcategories']);
}