snowmandxp
snowmandxp
应该来说,ProTable的防抖动是有Bug的,在useFetchData的fetchList函数中: ``` if (loading || requesting.current || !getData) { return []; } ``` 如果调用request请求,还在loading状态,说明上一次request请求还没有结束,这时直接返回了空数组。这样前一次的调用返回的比后一次调用晚,ProTable显示的是前一次调用的数据,这样真实的表格数据和查询条件是不一致的,出现BUG。当在loading状态时,应该不能直接返回为空的。
不知如果改成这样,是否有问题: ``` // fetchList: /** 请求数据 */ const fetchList = async (isPolling) => { if(loading || requesting.current) { return "loading"; } if(!getData) { return []; } // fetchListDebounce: const fetchListDebounce...
> 通过去抖而不是节流来解呢? 是我说错了,本身就是去抖,问题的关键不在于去抖,而在于如果正在请求数据,就直接返回了