element-react icon indicating copy to clipboard operation
element-react copied to clipboard

大BUG,可搜索select会导致页面卡死

Open lynshir opened this issue 6 years ago • 7 comments

可搜索的select多次输入删除,会直接卡死页面,可以多次输入删除数字1试试

lynshir avatar Dec 11 '18 09:12 lynshir

通过性能监测发现是页面多次 resize 导致。 img

// <Scrollbar /> 
addResizeListener(this.resizeDom, this.update);

挺严重的问题,建议添加 BUG 标签。

BillQiu avatar Dec 28 '18 08:12 BillQiu

Input也是一样的, 没办法自己重写的

mqliutie avatar Jan 10 '19 06:01 mqliutie

给依赖的 Scrollbar 组件添加 noresize 即可解决。

BillQiu avatar Jan 10 '19 10:01 BillQiu

@BillQiu Scrollbar没暴露给我们呀, 要改源码吗? 改源码在自动化部署情况还是避免不了这情况

mqliutie avatar Jan 17 '19 01:01 mqliutie

@BillQiu Scrollbar没暴露给我们呀, 要改源码吗? 改源码在自动化部署情况还是避免不了这情况

是没有暴露,只是提供了个解决的思路。

BillQiu avatar Jan 17 '19 01:01 BillQiu

@Hazel54 @loadchange 确实是个严重的bug,希望能尽快review这个PR。 凡是在带下拉框的Input中,都存在componentDidUpdate一直挂载event listener,却不卸载事件的问题。鼠标hover也会一直注册事件。

Emiya0306 avatar Jan 31 '19 03:01 Emiya0306

@hazel54 @loadchange 确实是个严重的bug,希望能尽快review这个PR。 凡是在带下拉框的Input中,都存在componentDidUpdate一直挂载event listener,却不卸载事件的问题。鼠标hover也会一直注册事件。

光这么处理一下还是不能解决本质问题的,有两种方式可以解决

  1. componentDidUpdate钩子函数的内容全部搬到componentDidMount
  2. https://github.com/ElemeFE/element-react/pull/1035

rookie125 avatar Nov 28 '19 08:11 rookie125