我使用jQuery数据表和导出按钮。
我更改了文件名和标题。
我的问题是我希望标题是动态的,基于过滤器和自定义过滤器。
我的问题是第一次加载时配置的文件名
.withButtons([
{
extend: "excelHtml5",
filename :$scope.getFileName(false),
title:$scope.getFileName(true),
exportOptions: {
columns: ':visible'
},
//CharSet: "utf8",
exportData: { decodeEntities: true}
},
答案 0 :(得分:1)
当然$scope.getFileName()
只会被调用一次,或者你有意调用它的次数。反之亦然:使用init()
功能和$watch
:
.withButtons([{
extend: "excelHtml5",
//filename: $scope.getFileName(false),
//title: $scope.getFileName(true),
exportOptions: {
columns: ':visible'
},
//CharSet: "utf8",
exportData: {
decodeEntities: true
},
init: function(dt, node, config) {
$scope.watch('fileName', function()
//config.filename is in fact config.title + config.extension
config.title = $scope.fileName.title;
config.extension = $scope.fileName.extension;
})
}
}])
你没有解释为什么你需要使用$scope.getFileName()
,尽管你使用角度很容易自动化。有了上述内容,您现在可以在需要时在fileName
更新$scope
结构,导出文件名也会相应更改
$scope.fileName = {
extension: '.xls',
title: 'my-table-export'
}