2025-06-13記錄element-ui的checkbox組件批量操作卡頓問(wèn)題

一、渲染了過(guò)多的checkbox組件后,批量切換選中狀態(tài),渲染會(huì)特別卡頓。常規(guī)解決方案如下:

1、使用虛擬滾動(dòng),減少渲染量,根據(jù)用戶視口渲染少量節(jié)點(diǎn),降低頁(yè)面消耗從而減少卡頓。

  瓶頸:在視口內(nèi)就已經(jīng)渲染了大量的checkbox標(biāo)簽,則達(dá)不到優(yōu)化效果。

2、分批操作數(shù)據(jù),通過(guò)插入渲染幀等待,從而使渲染更加流暢。

  瓶頸:批量完成的時(shí)間會(huì)特別長(zhǎng),用戶操作checkbox的頻率較高,雖有優(yōu)化了卡頓問(wèn)題,但整體用戶體驗(yàn)有所降低。

二、經(jīng)過(guò)排查后,發(fā)現(xiàn)以下巧妙的解決方案

image.png

image.png

以上兩個(gè)元素分別有兩個(gè)過(guò)渡效果,分別是控制背景顏色的過(guò)渡動(dòng)畫和選中狀態(tài)對(duì)號(hào)的過(guò)渡效果。
關(guān)閉以上的過(guò)渡就會(huì)非常絲滑,如果感覺(jué)用戶交互比較生硬,可以只關(guān)閉第一個(gè),保留第二個(gè),同樣也會(huì)很絲滑。
如果實(shí)在量大可以搭配以上兩個(gè)優(yōu)化方案實(shí)現(xiàn)且同時(shí)關(guān)閉兩個(gè)過(guò)渡效果。
代碼如下:

  .el-checkbox__inner{
        transition: none !important;
  }
  .el-checkbox__inner:after{
        transition: none !important;
  }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容