起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9969|回复: 8

[结贴] grid组件如何在加载数据(刷新、翻页)时,提示加载中

[复制链接]

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
发表于 2018-8-20 08:31:18 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
如题,grid加载时,在表格的中间提示“数据加载中”。grid好像就自带这个,因为有时候grid 渲染失败时,就会出现那种框,提示正在加载。但是不知道用什么方法可以在数据刷新的时候显示出来。

数据量大的时候,在翻页会有明细的延时,所以想有个提示
及时结贴是个好习惯

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-20 09:08:06 | 显示全部楼层
可以用放一个popOver,在刷新前事件调用popOver显示,在刷新后事件中调用popOver隐藏
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2018-8-20 09:22:28 | 显示全部楼层
jishuang 发表于 2018-8-20 09:08
可以用放一个popOver,在刷新前事件调用popOver显示,在刷新后事件中调用popOver隐藏 ...

效果不好,这个每个页面都得放,太麻烦了
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2018-8-20 09:31:09 | 显示全部楼层
jishuang 发表于 2018-8-20 09:08
可以用放一个popOver,在刷新前事件调用popOver显示,在刷新后事件中调用popOver隐藏 ...

说错了, 不是grid。grid没有,是datatables
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-20 09:57:46 | 显示全部楼层
data加载数据慢,跟datatables中提示无关,需要按照2楼的方案处理,或者自己修改data组件的js文件自己在组件添加

如果是datatables你前面已经说了自己都会提示,不需要自己加

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2018-8-20 10:59:24 | 显示全部楼层
本帖最后由 江苏院-吴昊 于 2018-8-20 11:01 编辑
jishuang 发表于 2018-8-20 09:57
data加载数据慢,跟datatables中提示无关,需要按照2楼的方案处理,或者自己修改data组件的js文件自己在组 ...

grid 和 datatables 其实都是有loading的。查看html元素就知道了。
查看jqGrid的源码时发现,在begin request前会 show,end request时会hide。但不知道是不是因为隐藏/显示间隔太短的原因。根本看不出来。 请求响应的时间在100ms以内,show/hide操作间隔太短。而grid渲染数据的时间长,所以grid一页展示大量数据(50条以上)时,视觉上看起来慢。

同理,二楼方法,刷新前show popover,刷新后 hide popover,其实ajax请求响应很快,只是grid渲染慢。所以应该在grid渲染数据完成时再hide。而不是刷新后就hide。  setTimeout可以解决部分问题,但能在grid渲染完数据后再隐藏最好
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2018-8-20 11:00:43 | 显示全部楼层
本帖最后由 江苏院-吴昊 于 2018-8-20 11:05 编辑

loading 本来就是一个平台最基本的组件。但是平台只有顶部的loadingbar,很不起眼,用户体验并不好,系统慢的时候,用户都不知道服务器是在处理请求。看看微信小程序/应用的设计规范。loading就是一个会屏蔽用户所有操作的框,明确告诉用户系统在处理,请等待。开发时调用也很简单。一行代码就可以调用。

在每个w中放个popover很麻烦。

我还有一个方案,就是提供一个全局的组件,像loadingbar一样。然后一行api就可以隐藏/显示。
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-8-20 11:19:40 | 显示全部楼层
平台的loadingbar是ajax请求时加载的
如果是数据已经返回了dataTables渲染数据慢,这个都是前端js处理,只能这样

可以自己修改loadingbar的显示效果http://wex5.com/cn/bbs/forum.php ... 77630&pid=165171461
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

532

主题

2107

帖子

4310

积分

论坛元老

起步萌新

Rank: 8Rank: 8

积分
4310
 楼主| 发表于 2018-8-20 11:33:36 | 显示全部楼层
jishuang 发表于 2018-8-20 11:19
平台的loadingbar是ajax请求时加载的
如果是数据已经返回了dataTables渲染数据慢,这个都是前端js处理,只 ...

修改loadingbar我也试过,里面有overlay的遮罩会屏蔽用户所有操作。但是打开功能啊、关闭功能啊,凡是调用了action都会有这个遮罩。先这样吧,结贴吧。
及时结贴是个好习惯
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-8-25 07:32 , Processed in 0.093278 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表