LayuiAdmin解决table自定义导出不能修改文件名问题

LayUIAdmin解决table自定义导出不能修改文件名问题

[TOC]

layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。layui 首个版本发布于2016年金秋,她区别于那些基于 MVVM 底层的 UI 框架,却并非逆道而行,而是信奉返璞归真之道。准确地说,她更多是为服务端程序员量身定做,你无需涉足各种前端工具的复杂配置,只需面对浏览器本身,让一切你所需要的元素与交互,从这里信手拈来。

解决方案是自己修改代码

由于代码是压缩过的,去 github 下载一下源码

layui/src/lay/modules/table.js 源码文件拷贝出来,覆盖自己项目中的 layui/lay/modules/table.js

修改 table.exportFile方法

原始的为:

//表格导出
  table.exportFile = function(id, data, type){
    data = data || table.clearCacheKey(table.cache[id]);
    type = type || 'csv';
...
//省略中间代码
//指定文件名代码为
    alink.download = (config.title || 'table_'+ (config.index || '')) + '.' + type; 
    document.body.appendChild(alink);
    alink.click();
    document.body.removeChild(alink); 
  };
  

修改后:

//表格导出
//方法多加个参数 name
  table.exportFile = function(id, data, type,name){
    data = data || table.clearCacheKey(table.cache[id]);
    type = type || 'csv';
...
//省略中间代码
//指定文件名代码为
//这里指定 如果name 不为空 使用name
    alink.download = (name || config.title || 'table_'+ (config.index || '')) + '.' + type; 
    document.body.appendChild(alink);
    alink.click();
    document.body.removeChild(alink); 
  };

你可能感兴趣的:(LayuiAdmin解决table自定义导出不能修改文件名问题)