找回密码
 立即注册

QQ登录

只需一步,快速开始

等时钟不成长

注册会员

2

主题

14

帖子

68

积分

注册会员

积分
68
最新发帖
等时钟不成长
注册会员   /  发表于:2018-11-7 16:03  /   查看:2753  /  回复:9
按照这个教程 http://blog.51cto.com/powertoolsteam/2285038?source=dra 做的
但是当我加载了报表之后,进行路由跳转就会报错。


如图1. 我选择并加载了报表
image.png962445983.png

图2.此时我通过导航菜单路由跳转之后,控制台报错。
image.png672165221.png

如果我没有加载报表进行路由跳转就不会报错,只要执行了spread.fromJSON(json)在跳转路由就会报错,不知道为什么。

9 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-7 17:43:17
沙发
你好,我们没能重现你的问题,请换用Spreadjs安装包中的Demo,

Demo路径是:您下载的安装包解压路径\Spread.Sheets\Spread.Sheets.All.11.2.2\samples\VueSample

使用方法:

1、将此VueSample文件夹拷贝到您Vue的工程目录下

2、命令行进入此目录下

3、执行npm install

4、执行npm run build

5、执行npm run dev

运行成功后根据提示访问即可,如图:

image.png208193358.png
回复 使用道具 举报
等时钟不成长
注册会员   /  发表于:2018-11-8 09:10:57
板凳
您好,我没有您所说的安装包啊,不知道去哪里找demo。我是直接
npm install  @grapecity/spread-excelio@^11.2.3这样安装到我的项目中的。
以及下面这些
"@grapecity/spread-sheets": "^11.2.3",
"@grapecity/spread-sheets-print": "^11.2.3",
"@grapecity/spread-sheets-resources-zh": "^11.2.3",
"@grapecity/spread-sheets-vue": "^11.2.3",

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-8 10:11:04
地板
你可以在官网上下载一个完整的SpreadJS包,地址是:

https://www.grapecity.com.cn/download/?pid=57
回复 使用道具 举报
等时钟不成长
注册会员   /  发表于:2018-11-8 10:39:25
5#
您好,我已经下载了,但是解压后目录里面没有sample啊
找不到这个路径\Spread.Sheets\Spread.Sheets.All.11.2.2\samples\VueSample
image.png91543273.png
回复 使用道具 举报
等时钟不成长
注册会员   /  发表于:2018-11-8 10:55:10
6#
不好意思,之前没看到。我找到了。
SpreadJS.Production.V11.2\Spread.Sheets\Spread.Sheets.Release.11.2.2\samples
回复 使用道具 举报
等时钟不成长
注册会员   /  发表于:2018-11-8 11:38:27
7#
你好,我看了咱们的VueSample例子。
里面没有涉及到ExcelIO的内容。
当我引入ExcelIO,调用了fromJSON之后确实会出现在vueComponent调用destroy钩子时报错的问题。==!
回复 使用道具 举报
等时钟不成长
注册会员   /  发表于:2018-11-8 16:20:10
8#
@KevinChen

您好,之前问题描述的不对。
我用咱们给的demo里的例子测试了,也会出现同样的报错,希望您帮忙测试下。

QuickStart.vue做了小幅修改,代码如下:

  1. <template>
  2.   <div class="componentContainer" >
  3.     <h3>快速入门指南</h3>
  4.     <div>
  5.       按照以下步骤快速将 Spread Sheets 应用到 Vue 的应用程序中:
  6.       <div>
  7.         <p>1. 添加 Spread Sheets 产品引用到 Vue 的应用程序中。</p>
  8.         <p>2. 添加一个组件来提供数据和业务实现。</p>
  9.         <p>3. 绑定数据,并设置其他 Spread Sheets 属性。</p>
  10.         <p>4. 添加一些 css 属性来定制外观。</p>
  11.       </div>
  12.     </div>
  13.     <button @click="remove">remove</button>
  14.     <div class="spreadContainer" >
  15.       <gc-spread-sheets
  16.         :hostClass='"spreadHost"'
  17.         @workbookInitialized = 'workbookInitialized($event)'>
  18.       <gc-worksheet>
  19.       </gc-worksheet>
  20.       </gc-spread-sheets>
  21.     </div>
  22.   </div>
  23. </template>
  24. <script>
  25. import "@grapecity/spread-sheets-vue";
  26. export default {
  27.   name: "sample-header",
  28.   data() {
  29.     return {
  30.       spread: undefined
  31.     };
  32.   },
  33.   methods: {
  34.     workbookInitialized(spread) {
  35.       this.spread = spread;
  36.     },
  37.     remove() {
  38.       this.spread.removeSheet(0);
  39.     }
  40.   }
  41. };
  42. </script>
  43. <style scoped>
  44. .componentContainer {
  45.   position: absolute;
  46.   padding: 10px;
  47.   left: 242px;
  48.   top: 0;
  49.   bottom: 20px;
  50.   right: 0;
  51. }
  52. .spreadContainer {
  53.   padding: 10px;
  54.   box-shadow: 0 0 20px grey;
  55. }
  56. .spreadContainer {
  57.   position: absolute;
  58.   left: 0px;
  59.   right: 30px;
  60.   top: 260px;
  61.   bottom: 10px;
  62. }
  63. .spreadHost {
  64.   width: 100%;
  65.   height: 100%;
  66. }
  67. </style>
复制代码


得到界面如下:

image.png540318297.png

然后新增加一个sheet,如下:

image.png61179808.png

然后点击remove按钮,移除第一个sheet,再点击其他路由,就会报错,如下:

image.png537206420.png

-----------------------------------------------------------------------------------望帮忙解答
回复 使用道具 举报
等时钟不成长
注册会员   /  发表于:2018-11-8 16:36:16
9#
还是上面的代码不变,操作步骤变化:
1. 新增一个sheet,然后拖动改变sheet1和sheet2的位置,让sheet2排在前面
2. 然后点击remove按钮,sheet2被移除;
3. 跳转路由,发现并不报错。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-11-8 18:05:26
10#
您的问题我这边已经报给相关技术人员,明天会给您答复,本帖状态已更改。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部