element?table數(shù)據(jù)量太大導(dǎo)致網(wǎng)頁卡死崩潰的解決辦法
前言
做后臺項目時,一次性在表格中加載幾百上千條數(shù)據(jù),發(fā)現(xiàn)有時頁面會崩潰。究其原因,發(fā)現(xiàn)是一次渲染dom太多導(dǎo)致卡頓。

在此嘗試了多種解決方法,發(fā)現(xiàn)最優(yōu)的就是替換組件,elementUI中的表格組件el-table性能不優(yōu),數(shù)據(jù)量大的時候,尤其是可操作表格,及其容易卡頓。在這里介紹一個新的第三方插件:unmy-ui。
官網(wǎng)會有具體的操作介紹和相關(guān)API http://www.umyui.com/umycomponent/uxGridApi

1.安裝
npm install umy-ui
2.引入
在main.js中寫入以下內(nèi)容:
import Vue from 'vue';
import UmyUi from 'umy-ui'
import 'umy-ui/lib/theme-chalk/index.css';// 引入樣式
import App from './App.vue';
Vue.use(UmyUi);
new Vue({
el: '#app',
render: h => h(App)
});3.在需要的頁面寫入表格(僅展示關(guān)鍵代碼,可根據(jù)自己需求添加)
<ux-grid
border
keep-source
ref="plTable"
show-summary
:data="form.itemList"
:edit-config="{ trigger: 'click', mode: 'cell' }"
max-height="432"
>
<ux-table-column field="category" title="類別" width="120">
<template slot-scope="scope">
<el-select
size="mini"
v-model="scope.row.category"
@change="changeCategory(scope.row.category, scope.rowIndex)"
>
<el-option
v-for="(item, index) in categoryGroup"
:key="index"
:value="item.value"
:label="item.label"
>{{ item.label }}</el-option
>
</el-select>
</template>
</ux-table-column>
</ux-grid>在此解釋我寫項目時遇到和el-table不同的兩點:
- el-table 中綁定數(shù)據(jù)的prop和ux-grid中的field對應(yīng),label和title對應(yīng);
- change事件中傳遞該行的索引,el-table中用scope.$index,在ux-grid中用scope.rowIndex;
最后解決頁面卡頓崩潰的問題。
總結(jié)
到此這篇關(guān)于element table數(shù)據(jù)量太大導(dǎo)致網(wǎng)頁卡死崩潰解決的文章就介紹到這了,更多相關(guān)element table數(shù)據(jù)量太大網(wǎng)頁卡死內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue使用axios post方式將表單中的數(shù)據(jù)以json格式提交給后端接收操作實例
這篇文章主要介紹了Vue使用axios post方式將表單中的數(shù)據(jù)以json格式提交給后端接收操作,結(jié)合實例形式分析了vue基于axios庫post傳送表單json格式數(shù)據(jù)相關(guān)操作實現(xiàn)技巧與注意事項,需要的朋友可以參考下2023-06-06
defineProperty和Proxy基礎(chǔ)功能及性能對比
這篇文章主要為大家介紹了defineProperty和Proxy基礎(chǔ)功能及性能對比,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
vue+css如何實現(xiàn)圓環(huán)漸變儀表盤
這篇文章主要介紹了vue+css如何實現(xiàn)圓環(huán)漸變儀表盤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08

