el-cascader级联选择器多次点击导致页面奔溃问题

最近项目中使用 element-ui 的 el-cascader 级联选择器 ,鼠标来回多次点击选择会卡直到页面奔溃卡死。好在最后解决了,特此记录一下。

环境

  • elment-ui : 2.13.0
  • Vue : 2.6.14

一开始我以为是数据量太大导致的,所以我在获取数据的时候采用动态加载方式,洋洋得意地以为搞定了,可以去划水了,结果,TM 的逗我玩呢。

逗我玩

后来我查了一下资料,这里我找到了相关答案,意思就是数据加载完后,.el-cascader-node 元素生成后会有 aria-owns 属性,我们直接移除这个属性就行。

什么时候移除这个属性是关键,el-cascader 有一个事件叫 visible-change,下拉框出现/隐藏时触发,所以用这个事件处理就可以解决。

<el-cascader : options="options" filterable @visible-change="visibleChange"></el-cascader>
visibleChange() {
  this.$nextTick(() => {
    // 添加这段代码
    const $el = document.querySelectorAll('.el-cascader-panel .el-cascader-node[aria-owns]');
    Array.from($el).map((item) => item.removeAttribute('aria-owns'));
  });
},

其实还是版本太低,最新的版本这个问题已解决。

「点点赞赏,手留余香」

8

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » el-cascader级联选择器多次点击导致页面奔溃问题

发表回复