行中带有组按钮的数据表中的问题 - angular4

Posted

技术标签:

【中文标题】行中带有组按钮的数据表中的问题 - angular4【英文标题】:issue in datatables with group button in row - angular4 【发布时间】:2018-03-21 06:24:46 【问题描述】:

我在我的angular4 应用程序中使用datatables 插件,我正在尝试添加dropdownmenu,但是当我点击按钮时它没有显示

如上所示,如果我单击任何行的编辑按钮,它不会显示任何下拉菜单,我也尝试添加单个按钮并调用 editRow() 但它没有调用该方法,就像我单击时一样datatable 之外的编辑按钮显示菜单。

这是我在组件中添加编辑按钮的方式...

options = 
    dom: "Bfrtip",
    ajax: (data, callback, settings) => 
        this.productService.getProducts().subscribe((data) => 
        callback(
            aaData: data
        )
        )
    ,
    columns: [
         data: "product" ,
         data: "dept" ,
          mRender : function(data, type, row) 
            return '<div class="btn-group dropdown" dropdown>'+
            '<button class="btn btn-default btn-sm dropdown-toggle txt-color-magenta"  dropdownToggle>'+
            '<i class="fa fa-gear fa-lg"></i>'+
            '<i class="fa fa-caret-down"></i>'+
            '</button>'+
            '<ul *dropdownMenu class="dropdown-menu">'+
            '<li> <a (click)="editRow("'+data+')">Action</a> </li>'+
            '<li><a (click)="callMeTwo()">Another action</a></li>'+
            '<li><a (click)="callMeThree()">Something else here</a></li>'+
            '<li class="divider"></li><li><a (click)="(null)">Separated link</a></li>'+
            '</ul>'+
            '</div>'
        
        
    ],
    buttons: ['copy', 'excel', 'pdf', 'print']
;

根据数据表论坛发现 here 或 here 如果我添加如下...

options = 
    dom: "Bfrtip",
    ajax: (data, callback, settings) => 
        this.productService.getProducts().subscribe((data) => 
        callback(
            aaData: data
        )
        )
    ,
    columns: [
         data: "product" ,
         data: "dept" ,
         defaultContent: '<ul class="demo-btns"> <li>' +
        '<a (click)="callMeOne()" class="btn btn-success"><i class="fa fa-pencil-square-o"></i> </a>'+
        '</li>' ,
    ],
    buttons: ['copy', 'excel', 'pdf', 'print']
;

得到Cannot read property 'nodeName' of null 错误,请帮助我如何让它工作。谢谢。

【问题讨论】:

【参考方案1】:

我想通了,终于让它工作了......只需在&lt;button class="btn btn-default btn-sm dropdown-toggle txt-color-magenta" data-toggle="dropdown"&gt; 中添加data-toggle,但现在click 函数在锚标记&lt;li&gt; &lt;a (click)="editRow(row)" class="btn btn-success"&gt;Action&lt;/a&gt; &lt;/li&gt; 中不起作用,当我点击它假设的操作时调用 editRow 函数但它没有。 当我选择一行时,我也无法弄清楚如何调用一个函数,比如RowSelected

【讨论】:

以上是关于行中带有组按钮的数据表中的问题 - angular4的主要内容,如果未能解决你的问题,请参考以下文章

.NET 6 中带有 IONIC/Angular 的 CORS 问题

Angular 2中带有Observable的http不能使用数据

如何使用 MatDialog 将行数据或数组对象传递给 Angular 中的组件

SwiftUI 中带循环的动态按钮

UITableView Swift中带有布尔值的切换按钮

按钮中的“NoReverseMatch”指的是在 url 中带有参数的页面