世界上最伟大的投资就是投资自己的教育
老祖 | 想前端加薪,就到达魔学院
id 15856
老祖 | 想前端加薪,就到达魔学院 8 hours 39 minutes 15 seconds 执事 研究生
-
如此说来,这个问题,可能是官方的一个待优化问题,或者有但没有注明清楚的问题。可以去 antd github 上提这个问题啦。
-
这种请求是由问题的。
首先:queryPermissions(sorter),确实发送请求,也得到了数据。但是:当您用 actionRef.current.reload() 刷新的时候,请的排序条件就没有了。您可以看看? -
触发 onChange 没有用啊,我可以用 onChange 去请求数据,可以请求回来的数据,无法渲染到 protable 中。
-
-
嗯,刚按照您的引导试试,果然达到预期效果。谢谢!
-
远程排序问题:老师,我使用了 protable,实现远程排序的时候,支持不是很好,是不是我用法出错了。
思路卡住:点击排序,不知道如何触发 request 重新请求数据。老师给参谋一下,给个更好的方案?以下是我临时研究的方法:仅大家参考
绕弯解决方案:使用了 reload+reset 方法,配合 useEffect 监听参数变化,对这两个方法进行触发,同事还手动绑定过滤参数,好蹩脚。
自定义 state
const [filters, setFilters] = useState({ field:'',sortField:'',sortOrder:'',current:1}) //首次进来
request 请求方法
const handleGetUser = (params: any)=>{ params['sortField'] = filters.sortField; params['sortOrder'] = filters.sortOrder; let data = queryUsers(params); return data; }
useEffect 监听过滤条件变化
useEffect(() => { if (actionRef.current) { if (filters.current === 1){ actionRef.current.reload(); }else{ actionRef.current.reset(); } } }, [filters.sortOrder, filters.sortField])
onChange 触发时,触发条件状态
const handleTableChange = (pagination:any, filtersObj:any, sorter:any) => { // 过来,必须跳转到第一页 // 情况一:field自动切换,必须跳转 // 情况二:当order由null->有值,或者值变为null,或者两个值进行变化时 // 暂时不实现,意义不大 // if (!filters.isFirst){ // if(filters.sortField !== sorter.field){ // // pagination.current = 1; // }else if(true){ // } let order = sorter.order || ''; let field = sorter.order && sorter.field || ''; // 判断当前和上一次 if ((field + order) !== (filters.sortField + filters.sortOrder) ){ setFilters({ ...filters, sortField: field, sortOrder: order, current: pagination.current }); } else{ setFilters({ ...filters, current: pagination.current }); } }
-
依赖包问题:老师,我看您 mac 电脑右键,就可以提示导入 antd 对应的依赖包。vscode 是安装了什么插件吗?
-
一口气 2 倍速看完 ts 入门教程, 实在不易!解决了 antd4 的很多 ts 疑问。感谢
© 汕尾市求知科技有限公司 | Rails365 Gitlab | Qiuzhi99 Gitlab | 知乎 | b 站 | 搜索
粤公网安备 44152102000088号 | 粤ICP备19038915号
Top