PrimeNG, SplitButton: как получить параметр в модель?

#angular #primeng

#angular #primeng

Вопрос:

Допустим, я хочу запустить функции foo и bar с помощью PrimeNG SplitButton. Оба имеют один параметр, касающийся самой кнопки.

Что касается действия, я хочу иметь параметр для назначенной функции.

Я могу сделать это для foo, потому что я установил его с помощью onClick .

Но как я могу это сделать для bar??

     <p *ngFor="let x of ['aaa','bbb','ccc']">
      <p-splitButton label="FOO for {{x}}" (onClick)="foo (x)" [model]="cmds"></p-splitButton>
    </p>
 
     cmds : any = [{label: "BAR for x", command: () => { bar (x); }}];   // x is not here, how can I get it?
 

Ответ №1:

Обнаружил, что я тоже могу привязать туда функцию.

     <p *ngFor="let x of ['aaa','bbb','ccc']">
      <p-splitButton label="FOO for {{x}}" (onClick)="foo (x)" [model]="cmds (x)"></p-splitButton>
    </p>
 
     cmds (x) : any
    {
      return [{label: "BAR for " x, command: () => { bar (x); }}];   
    }
 

Ответ №2:

 xxx.html
<p-splitButton icon="pi pi-print" label="Imprimir"
(onClick)="imprimirFactura(rowData)" [model]="cmds(rowData)"></p-splitButton>
 
 //xxx.componente.ts
    cmds(row): any {
        const items = [
            {
                label: 'Acción 1', 
                icon: 'pi pi-clone', command: () => {
                    this.dummy(row);
                }
            },
            {
                label: 'Acción 2', 
                icon: 'pi pi-clone', command: () => {
                    this.confirmarPagoFactura(row);
                }
            },
        ];
        return items; (x); }}];   
    }