Пример : событие p-SplitButton onClick не работает каждый раз

#angular #primeng #primeng-datatable #primeng-turbotable

Вопрос:

Я использую PrimNG 9 с Angular 8, я реализовал кнопку p-Split в теле p-таблицы, когда я нажимаю «Редактировать» или «Удалить», щелчок иногда работает, а иногда не работает. Кто-нибудь может помочь, пожалуйста! (Смотрите экран ниже)

введите описание изображения здесь

HTML:

 <p-splitButton label="Show details" styleClass="split-button"
                            (onClick)="showDetails(project)" appendTo="body" [model]="itemsSplitButton(project)">
                        </p-splitButton>
 

Тс:

 itemsSplitButton: any;

ngOnInit() {
    this.initItemsSplitButton();
}

initItemsSplitButton() {
    this.itemsSplitButton = (project) => {
      return [
        {
          label: 'Edit', icon: 'pi pi-pencil', command: () => {
console.log('Edit was clicked);},
{
          label: 'Delete', icon: 'pi pi-trash', command: () => {
console.log('Delete was clicked);};}]}
 

Ответ №1:

Попробуйте использовать этот код

 <p-splitButton label="Save" icon="pi pi-plus" (onClick)="save('info')" [model]="items"></p-splitButton>
 
 export class SplitButtonDemo implements OnInit {

    items: MenuItem[];

    constructor(private messageService: MessageService) {}

    ngOnInit() {
        this.items = [
            {label: 'Update', icon: 'pi pi-pencil', command: () => {
                this.update();
            },
            {label: 'Delete', icon: 'pi pi-trash', command: () => {
                this.delete();
            }
        ];
    }

    save(severity: string) {
        this.messageService.add({severity:severity, summary:'Success', detail:'Data Saved'});
    }

    update() {
        this.messageService.add({severity:'success', summary:'Success', detail:'Data Updated'});
    }

    delete() {
        this.messageService.add({severity:'success', summary:'Success', detail:'Data Deleted'});
    }
}