简体   繁体   English

如何为 Angular ngx-datatable 实现双击/dbl 行?

[英]How can a double/dbl click on row be implemented for Angular ngx-datatable?

The ngx-datatable does not have a Output property for double clicking a row. ngx-datatable 没有用于双击一行的 Output 属性。

The activate output property emits all events, this could probably be used.激活 output 属性会发出所有事件,这可能会被使用。

How can I implement this?我该如何实施?

I have created a double click directive.我创建了一个双击指令。

Here to use it:在这里使用它:


<ngx-datatable
  (appNgxDatatableDblClick)="onDblClickRow(row)"
  ...
></ngx-datatable>

The directive:指令:

@Directive({
  selector: '[appNgxDatatableDblClick]',
})
export class NgxDatatableDblClickDirective implements OnInit {
  @Output('appNgxDatatableDblClick') dblClick = new EventEmitter();

  constructor(private element: ElementRef) {}

  @HostListener('activate', ['$event'])
  onActivate(event: Model): void {
    if (event.type === 'dblclick' && event.row) {
      this.dblClick.emit(event.row);
    }
  }

  // Can be used for styling (e.g.: .appNgxDatatableDblClick datatable-row-wrapper { cursor: pointer; }
  ngOnInit(): void {
    (this.element.nativeElement as Element).classList.add(
      'appNgxDatatableDblClick'
    );
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM