electron中vue,table渲染大量数据卡顿

在这个electron项目里,使用element-ui中的el-table渲染了很多数据(大于100条,每条中输入框不小于10个),造成了 输入时十分卡顿,内存占用达到了100M,需求方又不想分页,只能寻求折中的方案。

该方案内置了el-table,也就是说你可以不用使用element-ui也是可以用的。

首先安装pl-table

npm i pl-table

main.js中

import plTable from 'pl-table'

import 'pl-table/themes/index.css'

Vue.use(plTable)

这里写一下我的pl-table使用时候的配置:

<pl-table

            ref="plTable"

            :datas="showTableData"

            :row-height="65"

            :pt-total="filterTableData.length"

            :page-size="pageSize"

            :excess-rows="1"

            :height-change="false"

            :current-page="currentPage"

            :page-sizes="[100, 200, 300, 400, 500]"

            no-data-height="calc(100vh - 154px)"

            auto-resize

            use-virtual

            @handlePageSize="handlePageSize"

          >

默认可以使用分页,更多api请自行百度。

如果表格无法显示:

.electron-vue中webpack.web.config.js 我这里是52-58行替换

{

        test: /\.js$/,

        use: 'babel-loader',

        include: [ path.resolve(__dirname, '../src/renderer') ],

        exclude: file => /node_modules/.test(file) && !/\.vue\.js/.test(file) && !/pl-table/.test(file)

      }

然后重启electron 就可以显示了。

然后分页和表格的间距默认是20px。我们这里改一下,不要这么大的间距

.plTableBox .myPagination{

  padding-top: 0;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,618评论 0 3
  • width: 65%;border: 1px solid #ddd;outline: 1300px solid #...
    邵胜奥阅读 10,347评论 0 1
  • 基于Vue的一些资料 内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 element★...
    尝了又尝阅读 4,884评论 0 1
  • 文/孤鸟差鱼 就让我做个孩子吧 别谈情的高深 就让我吹着泡泡 捏着泥巴 再脏兮兮的跑回家 就让我做个孩子 别说长大...
    孤鸟差鱼阅读 1,709评论 0 5
  • 重读悟空传,感想无以言表,也许主题是反抗,反抗既定的命运,那么,我也是时候重拾毅力,为自己努力一回,for mys...
    Z之短笛阅读 1,007评论 0 0