首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将HTML添加到数据表中的自定义按钮

将HTML添加到数据表中的自定义按钮
EN

Stack Overflow用户
提问于 2019-12-19 18:21:21
回答 1查看 195关注 0票数 3

我已经向datatables添加了一个自定义按钮,我正在尝试将addEventListener添加到该按钮。这是我的代码。

代码语言:javascript
复制
constructor(public router: Router) { }

    @ViewChild(DataTableDirective)
    datatableElement: DataTableDirective;
    message = '';
    title = 'angulardatatables';

    @ViewChild('dataTable') table: { nativeElement: any; };
    dataTable: any;
    dtOptions: DataTables.Settings = {};
    // someClickhandler(info: any): void {
    //     this.message = info.number + '-' + info.assignedto + '-' + info.company;
    //     console.log(this.message);
    // }
    ngOnInit(): void {
        this.dtOptions = {
            pagingType: 'full_numbers',
            pageLength: 15,
            processing: true,
            responsive: true,
            autoWidth: false,
            dom: 'Bfrtip',
            'ajax': {
                url: 'http://localhost:8080/incident-updated',
                type: 'GET',
                dataSrc: 'result',
            },
            columns: [
                {
                    title: 'Incident',
                    data: 'number'
                },
                {
                    title: 'Product',
                    data: 'u_product'
                },
                {
                    title: 'Status',
                    data: 'state'
                },
                {
                    title: 'Created By',
                    data: 'sys_created_by'
                },
                {
                    title: 'Group',
                    data: 'assignment_group'
                },
                {
                    title: 'Category',
                    data: 'u_category'
                },
                {
                    title: 'Updated on',
                    data: 'sys_updated_on'
                },
                {
                    title: 'Action',
                    data: null,
                    // render: function(data, type, full) {
                    //     return '<a class="btn btn-primary btn-sm" style="color: #fff;" id="view" (click)="view($event)">View</a>';
                    // }
                    defaultContent: '<button class="btn btn-sm btn-primary" onClick="viewer();" (click)="viewer(event)"> View </button>'
                }
            ]
        };
        this.dataTable = $(this.table.nativeElement);
        console.log('table is ==>', this.dataTable);
        $('#view tbody').on('click', 'button', function () {
            const data = this.dataTable.row($(this).parents('tr').data);
            alert('Data is ==>' + data);
        });
    }

    ngAfterViewInit(): void {
        // Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
        // Add 'implements AfterViewInit' to the class.
        // this.viewer.addEventListener('click', function() {
        //     event.stopPropagation();
        //     // this.router.navigate(['/event-viewer']);
        //     alert('shdfiskludhzj');
        // });
    }
    viewer() {
        alert('sdjfhsklzdjh');
    }
    // viewer(event: any) {
    //     event.stopPropagation();
    //     this.router.navigate(['/event-viewer']);
    // }
    // buttonInRowClick(event: any): void {
    //     event.stopPropagation();
    //     console.log('Button in the row clicked.');
    //     this.router.navigate(['/event-viewer']);
    // }
    // wholeRowClick(): void {
    //     console.log('Whole row clicked.');
    // }  

它返回错误:

代码语言:javascript
复制
issues:1 Uncaught ReferenceError: viewer is not defined
    at HTMLButtonElement.onclick (issues:1)
onclick   

我已经尝试了其他几种方法,都不起作用。如何解决这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-02 18:28:25

将此函数添加到组件代码中。

代码语言:javascript
复制
@HostListener('click')
 viewer() {
   // Perform your opration here
 }

代码语言:javascript
复制
@HostListener('document:click')
  viewer() {
   // Perform your operation
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59407643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档