找回密码
 立即注册

QQ登录

只需一步,快速开始

yachu

初级会员

12

主题

50

帖子

217

积分

初级会员

积分
217
yachu
初级会员   /  发表于:2018-10-17 14:15  /   查看:3316  /  回复:6
本帖最后由 yachu 于 2018-10-17 17:23 编辑

我是在 vue 的项目中使用 spreadjs ,组件的 template 主要代码是:
  1. <div id="ss"></div>
复制代码
script 脚本主要代码是:
  1. created () {
  2.     this.getData()
  3.   },
  4.   mounted () {
  5.   },
  6.   methods: {
  7.     async getData () {
  8.       const { data: res } = await this.$http.get('orguser/org/v1.0/list?status=CONFIRMED')
  9.       if (res.status !== 1000000) return this.$message.error(res.message)
  10.       this.$message.success(res.message)
  11.       let spread = new GC.Spread.Sheets.Workbook($('#ss')[0])
  12.       spread.suspendPaint()
  13.       let sheet = spread.getActiveSheet()
  14.       sheet.autoGenerateColumns = false
  15.       sheet.setDataSource(res.data)
  16.       sheet.bindColumns(this.columnInfos)
  17.       spread.resumePaint()
  18.     }
  19.   }
复制代码

为什么这样去渲染异步数据第一次进入页面是空的?要再刷新一次才可以。

6 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-10-17 16:26:20
沙发
您这边 spread.suspendPaint() 没有resume吗?
回复 使用道具 举报
yachu
初级会员   /  发表于:2018-10-17 17:17:33
板凳
ClarkPan 发表于 2018-10-17 16:26
您这边 spread.suspendPaint() 没有resume吗?
  1. spread.resumePaint()
复制代码

有这句代码,上面忘记贴上去了。
回复 使用道具 举报
yachu
初级会员   /  发表于:2018-10-18 11:26:53
地板
ClarkPan 发表于 2018-10-17 16:26
您这边 spread.suspendPaint() 没有resume吗?

使用 spreadjs 渲染异步数据的正确姿势应该是怎样的?文档也没找到。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-10-18 12:12:45
5#
SpreadJS中根本就没有异步数据的说法,至于数据的渲染方式之前已经跟您说过,在workbookInitialized的回调方法中调用获取spread对象然后调用接口去渲染。
回复 使用道具 举报
yachu
初级会员   /  发表于:2018-10-18 14:30:11
6#
ClarkPan 发表于 2018-10-18 12:12
SpreadJS中根本就没有异步数据的说法,至于数据的渲染方式之前已经跟您说过,在workbookInitialized的回调 ...

我按你说的也是不行,第一次打开页面只展示一个空页面。
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-10-19 14:47:38
7#
我记得之前给您发过demo的,按照这个demo做

User.vue

2.43 KB, 下载次数: 70

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部