问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

layui表头中“导出到csv文件,和导出到xlsx文件"选择提示框如何去掉...

发布网友 发布时间:2022-04-24 00:48

我来回答

2个回答

懂视网 时间:2022-04-29 15:17

layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用。

layui自带的导出表格,只能导出当前页面,如果当前页包含全部数据,那不就是导出全部数据了吗,所以我给导出事件单独定义了一个请求,当触发这个请求时,在后台查询数据时不要按接收的page 和 limit查询,而是查询全部,这样就实现了导出全部数据。

页面代码:

<!--导出按钮 或其他触发事件-->
<button class="export">导出报表</button>

<!--导出表 不展示-->
<div style="display: none;">
 <table id="data_export">
 </table>
</div>
layui.use(['form', 'table', 'layer'], function () {
 var table = layui.table,
  form = layui.form,
  layer = layui.layer;
 //导出表格
 var ins1 = table.render({
  elem: '#data_export',
  url: "url", //数据接口
  method: 'post',
  title: '导出表的表名',
  where: {
  mycode: "all"
  },
  limit: 10,
  cols: [[
  {field: 'id', title: 'ID'},
  {field: 'name', title: '名称'},
  ]],
  done: function (res, curr, count) {
  exportData = res.data;
  }
 });
 //导出按钮
 $(".export").click(function () {
  table.exportFile(ins1.config.id, exportData, 'xls');
 });
 })

后台处理:

if ($mycode) { $data = M('mysql')->where($where)->select(); 
 echo json_encode(['code' => 0, 'msg' => "", 'data' => $data]);   
}

优化:对应的代码是上面第二段js代码:

//导出改为单独的事件,每次点击导出才会执行
 $(".export").click(function(){
 var ins1=table.render({
  elem: '#data_export',
  url: "url", //数据接口
  method: 'post',
  title: '表名',
  where: {
  mycode: "all"
  },
  limit: 10,
  cols: [[
  {field: 'id', title: 'ID'},
  {field: 'name', title: '名字'},
  ]],
  done: function (res, curr, count) {
  exportData=res.data;
  table.exportFile(ins1.config.id,exportData, 'xls');
  }
 });
 })

其实就是把 table.exportFile(ins1.config.id,exportData, 'xls'); 放到了done中,虽然看起来改的不多,但是本质已经变了,之前的方式是进入页面就加载隐藏的导出表。

而现在是点击导出的时候才会渲染隐藏导出表,在导出表内容多的时候,导出速度慢点用户会觉得是合理的,比页面加载速度慢要好多了。

更多layui相关知识请关注layui框架。

热心网友 时间:2022-04-29 12:25

你要不就去掉 defaultToolbar中的导出按钮,然后在自己的Toolbar里实现导出。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
南安椎间盘突出症的症状,悬壶邱腰神在陕西哪里 安康腰椎间盘突出一条腿麻保守治疗的方法,悬壶邱大夫的详细位置_百度知 ... 宣传片拍摄有哪些长处? 继承房产过户费用要多少? 继承5万房产过户需要多少费用多少钱 继承的房产过户需要多少费用 继承5万房产过户需要多少费用 灵芝茶减肥效果怎么样 南京滴滴和t3哪个收入多 属虎女人的和属鸡男人的配吗 湖北退休人员养老金上调方案 养老保险缴了9年如果提高缴费基数划算吗 退休工资上调计算方法是什么 北京养老金上调方案是什么 郭德纲跟于谦两人为什么从没闹过矛盾? 为什么德云社里郭德纲从来不跟于谦闹矛盾? 郭德纲介绍德云社人员时,郭麒麟骂于谦,于谦被群殴是那场演出 曾经听说于谦和郭德纲有有矛盾,具体经过是咋样的 郭德纲和于谦合作多年从未有过矛盾吗? 于谦透露或永久退出德云社,郭德纲于谦私下不来往真的吗? 朋友之间都会闹矛盾,为什么郭德纲和于谦从来没有闹过矛盾? 郭德纲和于谦带徒弟打架那段叫什么名字? 郭德纲敢跟于谦闹矛盾吗? 郭德纲于谦有仇吗 郭德纲于谦打架 郭德纲和于谦在台上有打仗的一幕是什么 郭德纲跟于谦从没有闹过矛盾是真的吗? 郭德纲和于谦是最佳拍档,他俩闹过矛盾吗? 为什么郭德纲跟于谦从没闹过矛盾? 郭德纲和于谦合作多年,闹过矛盾吗? 云南养老金上调方案 Layui里面saveAsExcel是什么意思 郭德纲的师傅和于谦的师傅他们四个人打架那段相声叫什么? 昨天哈尔滨欢乐正前方有播的。 怎么查找微信监控视频内容 为什么德云社里,郭德纲好像从不跟于谦闹矛盾?是单纯因为关系好吗? 黑龙江退休金上调新政策是什么 湖北省退休金上调方案是什么 河北省退休金上调方案 如何在layui中使用表单 网侦支队会实时监控微信吗 养老金计算方法 大佬们,求救!!!使用layUI已经从后端控制器获取到json字符串数据,无法渲 ... 莹云石监控怎么连接微信 除了增幅5%外,养老金还有新调整,具体有那些调整? layui 表格查询数据返回的又是一个数组可以循环吗? 69岁买超年保险,这9年可以补发工资吗 layui的表格可以实现点击单行向下展开详情吗? 浙江省养老金新方法那年那月实施的? layui数据表格如何根据列名修改整列的值? 养老金最简单的计算方法