[英]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.