5.20211.781 angular 列选择严重卡顿和虚拟滚动
数据列有两三万行,三四十列的样子,原用ngzorro列表,主要功能:1,动态选择要显示的列和保存,并在下次打开时,显示保存的列。
2,动态移动列的位置并保存。
3,前端复杂条件检索和排序。
4,增删改查等基础操作。
最近尝试使用wijmo, 遇到如下问题。
1,一次性加载所有列,在选择要显示的列时,卡顿严重。
2,尝试使用虚拟滚动,发现并非真正的虚拟滚动,而是懒加载,这样的话,搜索要如何解决呢?放到后端吗?
3,angular如何保存和设置要显示的列,在下次加载时,隐藏不需要显示的列?
4,angular如果保存拖动后列的位置?
列头设置可以在app.component.html中定义,比如这个示例
https://demo.grapecity.com.cn/wijmo/demos/Grid/Columns/ColumnWidth/angular
问题已经收到,因为问题较多。我这边统一验证后给您答复 1.这个暂时没有好的解决办法,
2.是的,或者说是按需加载,全局搜索的话得在后台进行。你说的真正的虚拟加载是指什么呢
3.这个demo最下端就有保存布局和加载布局的示例代码,通过flex.columnLayout即可获取设置布局
https://demo.grapecity.com.cn/wijmo/demos/Grid/Columns/ColumnPicker/purejs
4.和问题3设置方式相同 感谢版主大大周末还回复:lol
我说的那个虚拟滚动指的是 这个 VirtualScroll 属性。只渲染当前显示的行和列。
另外,flex.columnLayout 不起作用,是我的用法不对吗?
表头并没有根据columnLayout设置的加载。
刚刚发现,是生命周期的问题,用的angular11.2
两个生命周期函数都不可以,加了时间延时函数后,会起作用,但是,页面会闪烁一下后再变过来。
有什么好的办法吗?
我这里测试没有重现问题,简单的给布局删了第二列,不需要加延时就行,建议你直接通过获取columnlayout再进行修改
var layout=JSON.parse(this.flex.columnLayout);
layout.columns.splice(1,1);
console.log(layout);
this.flex.columnLayout=JSON.stringify(layout);
Richard.Ma 发表于 2021-5-10 10:07
我这里测试没有重现问题,简单的给布局删了第二列,不需要加延时就行,建议你直接通过获取columnlayout再进 ...
好的,我试一下。
angular 有办法像 js一样在初始化的时候添加列头设置吗?
这样好像数据不是双绑的。
页:
[1]