tiny-vue icon indicating copy to clipboard operation
tiny-vue copied to clipboard

🐛 [Bug]: grid 组件 setAllTreeExpansion(true),树形表格层级多之后,展开全部页面卡死

Open David-TechNomad opened this issue 1 year ago • 5 comments
trafficstars

Version

v3.14.0

Vue Version

v 3.4

Link to minimal reproduction

https://opentiny.design/vue-playground?mode=pc&theme=default#3.14|eyJzcmMvQXBwLnZ1ZSI6IjxzY3JpcHQgbGFuZz1cInRzeFwiPlxyXG4vLyDlvJXlhaUgQG9wZW50aW55L3Z1ZSDnu4Tku7ZcclxuaW1wb3J0IHsgQnV0dG9uLCBMaW5rIH0gZnJvbSAnQG9wZW50aW55L3Z1ZSdcclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBjb21wb25lbnRzOiB7XHJcbiAgICBUaW55QnV0dG9uOiBCdXR0b24sXHJcbiAgICBUaW55TGluazogTGlua1xyXG4gIH0sXHJcbiAgZGF0YSgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1zZzogJ2hlbGxvIHdvcmxkISdcclxuICAgIH1cclxuICB9XHJcbn1cclxuPC9zY3JpcHQ+XHJcblxyXG48dGVtcGxhdGU+XHJcbiAgPFRpbnlCdXR0b24+56Gu5a6aPC9UaW55QnV0dG9uPlxyXG4gIDxoMT57eyBtc2cgfX08L2gxPlxyXG4gIDxkaXYgY2xhc3M9XCJ0aW55dnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlueXZ1ZS1wYWdlXCI+XHJcbiAgICAgIHRpbnl2dWVcclxuICAgICAgPHRpbnktbGluayB0eXBlPVwic3VjY2Vzc1wiIGhyZWY9J2h0dHBzOi8vZ2l0aHViLmNvbS9vcGVudGlueS90aW55LXZ1ZSc+XHJcbiAgICAgICAgdGlueXZ1ZVxyXG4gICAgICA8L3RpbnktbGluaz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHN0eWxlIGxhbmc9XCJsZXNzXCIgc2NvcGVkPlxyXG4gIGgxe1xyXG4gICAgY29sb3I6IzVlN2NlMDtcclxuICB9XHJcbiAgLnRpbnl2dWV7XHJcbiAgICBmb250LXNpemU6IDE4eHA7XHJcbiAgICAmLXBhZ2V7XHJcbiAgICAgIGNvbG9yOiM1ZTdjZTA7XHJcbiAgICB9XHJcbiAgfVxyXG48L3N0eWxlPlxyXG4iLCIiOiJ7XCJpbXBvcnRzXCI6e1wiQG9wZW50aW55L3Z1ZVwiOlwiaHR0cHM6Ly9ucG0ub25taWNyb3NvZnQuY24vQG9wZW50aW55L3Z1ZUAzLjE0L3J1bnRpbWUvdGlueS12dWUubWpzXCIsXCJAb3BlbnRpbnkvdnVlLWljb25cIjpcImh0dHBzOi8vbnBtLm9ubWljcm9zb2Z0LmNuL0BvcGVudGlueS92dWVAMy4xNC9ydW50aW1lL3RpbnktdnVlLWljb24ubWpzXCIsXCJAb3BlbnRpbnkvdnVlLWxvY2FsZVwiOlwiaHR0cHM6Ly9ucG0ub25taWNyb3NvZnQuY24vQG9wZW50aW55L3Z1ZUAzLjE0L3J1bnRpbWUvdGlueS12dWUtbG9jYWxlLm1qc1wiLFwiQG9wZW50aW55L3Z1ZS1jb21tb25cIjpcImh0dHBzOi8vbnBtLm9ubWljcm9zb2Z0LmNuL0BvcGVudGlueS92dWVAMy4xNC9ydW50aW1lL3RpbnktdnVlLWNvbW1vbi5tanNcIixcIkBvcGVudGlueS92dWUtdGhlbWUvXCI6XCJodHRwczovL25wbS5vbm1pY3Jvc29mdC5jbi9Ab3BlbnRpbnkvdnVlLXRoZW1lQDMuMTQvXCIsXCJAb3BlbnRpbnkvdnVlLXRoZW1lLW1vYmlsZS9cIjpcImh0dHBzOi8vbnBtLm9ubWljcm9zb2Z0LmNuL0BvcGVudGlueS92dWUtdGhlbWUtbW9iaWxlQDMuMTQvXCIsXCJAb3BlbnRpbnkvdnVlLXJlbmRlcmxlc3MvXCI6XCJodHRwczovL25wbS5vbm1pY3Jvc29mdC5jbi9Ab3BlbnRpbnkvdnVlLX

Step to reproduce

grid 组件 setAllTreeExpansion(true),树形表格层级多之后,展开全部页面卡死

What is expected

希望可以优化一下setAllTreeExpansion(true)函数,不至于页面卡死

What is actually happening

grid 组件 setAllTreeExpansion(true),树形表格层级多之后,展开全部页面卡死 image fbb48be674fd095d54e7b6e3cc18bac

What is your project name

bom树表组件

Any additional comments (optional)

No response

David-TechNomad avatar Mar 18 '24 10:03 David-TechNomad

Bot detected the issue body's language is not English, translate it automatically.


Title: 🐛 [Bug]: grid component setAllTreeExpansion(true), after the tree table has many levels, all pages will get stuck when expanding.

Issues-translate-bot avatar Mar 18 '24 10:03 Issues-translate-bot

@David-TechNomad 您好~,树表在数据量大的情况,可以尝试参考一下demo,配置优化虚拟滚动~ https://opentiny.design/tiny-vue/zh-CN/smb-theme/components/grid-large-data#large-data-grid-large-tree-data

gimmyhehe avatar Mar 20 '24 06:03 gimmyhehe

Bot detected the issue body's language is not English, translate it automatically.


@David-TechNomad Hello~, when the tree table has a large amount of data, you can try to refer to the demo to configure and optimize virtual scrolling~ https://opentiny.design/tiny-vue/zh-CN/smb-theme/components/grid-large-data#large-data-grid-large-tree-data

Issues-translate-bot avatar Mar 20 '24 06:03 Issues-translate-bot

展开全部卡死demo

展开指定树节点 展开所有树节点 切换展开树节点

David-TechNomad avatar Mar 20 '24 08:03 David-TechNomad

@David-TechNomad 用你提供的demo,添加一下配置,就不会卡死了~ :height="300" :optimization="{ scrollX: { gt: 15, rSize: 14, vSize: 10, adaptive: false }, scrollY: { gt: 1, adaptive: false } }" 参数说明: height----虚拟滚动必须配置height scrollY.gt: 1 ---- 目前表格逻辑是判断第一层数据长度,demo中第一层数据长度为2,因此这里配置大于等于1开启虚拟滚动~ 这里是个待优化点,组件库侧记录一下~

gimmyhehe avatar Mar 20 '24 09:03 gimmyhehe