找回密码
 立即注册

QQ登录

只需一步,快速开始

wiggins

注册会员

7

主题

43

帖子

114

积分

注册会员

积分
114

微信认证勋章

wiggins
注册会员   /  发表于:2019-8-19 14:28  /   查看:3477  /  回复:4
本帖最后由 wiggins 于 2019-8-19 17:51 编辑

核心代码:
  1.   public async LeftRowSelected(e) {
  2.     if (e) {
  3.       this.spread.suspendPaint();
  4.       //  alert(JSON.stringify(e));
  5.        this.spread.sheets.forEach(sheet=>{

  6.        switch (e.Id) {
  7.          case 1:
  8.             sheet.visible(true);
  9.            break;
  10.          default:
  11.             let sheetTag:SheetTag = new SheetTag();
  12.               // 如果存在sheettag,就取原始sheettag
  13.               if (sheet.tag()) {
  14.                 sheetTag = JSON.parse(sheet.tag());
  15.               }
  16.               if(sheetTag.type!==e.Id){
  17.                 sheet.visible(false);
  18.               }
  19.               else{
  20.                 sheet.visible(true);
  21.               }
  22.            break;
  23.        }
  24.       });
  25.       this.spread.resumePaint();
  26.       this.spread.refresh();
  27.     }
  28.   }
复制代码
360截图170405149810991.png

多次调用以上代码进行显示隐藏切换的时候下面这个菜单就会不起作用了,无法响应点击事件。

4 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-8-19 18:00:39
沙发
您好,注意到您的帖子状态已经被标记成【已处理】,请问问题是否已经解决了呢?
回复 使用道具 举报
wiggins
注册会员   /  发表于:2019-8-19 18:43:33
板凳
KevinChen 发表于 2019-8-19 18:00
您好,注意到您的帖子状态已经被标记成【已处理】,请问问题是否已经解决了呢?

已经处理的,但是你们可以复现一下问题,看看是什么原因引发的
1、我现在的处理方式是先将所有的表单标记为可见,然后再进行隐藏操作,相当于用了两个for 循环解决了,之前想的是通过一个for 循环解决,但是出了问题。
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-8-20 10:04:39
地板
好的,谢谢你的反馈
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-8-20 10:06:10
5#
您好,如果用初始化的Demo来测试,采用一个循环是可以实现标记可见的,代码如下:

  1. var spread = GC.Spread.Sheets.findControl("ss");
  2. var sheet = spread.getActiveSheet();
  3. spread.sheets.forEach(function(item){item.visible(true)})
复制代码


所以猜测可能与模板或具体代码实现有关
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部