覆盖来自Primefaces特定小部件的方法

11
我想重写Primefaces数据表格组件的一个函数。根据这个问题:How do I find and/or override JavaScript in Primefaces component based on widgetVar? 可以通过使用PrimeFaces.widget.DataTable.prototype.实现。但我只想为一个数据表格覆盖此函数,而不是全部。

以下方法无效:

<p:dataTable widgetVar="myTable" ...>
</p:dataTable>
....
<script type="text/javascript">
       $(document).ready(function(){
           if (PF('myTable') !== undefined) {
                PF('myTable').jq.datatable({
                     showCellEditor: function (c) {
                         console.log('my function');
                     }
                 });
            }
         });
</script>

这是应该这样做的方式吗,还是我完全错了?

1个回答

12

用我的其中一个表进行了测试:

PF('myTable').showCellEditor = function() {
    console.log('my function')
}

如果需要,请不要忘记调用通用实现:

PF('myTable').showCellEditor = function() {
    console.log('my function')
    // call the generic implementation:
    PrimeFaces.widget.DataTable.prototype.showCellEditor.call(this);
}

另请参阅:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接