找回密码
 立即注册

QQ登录

只需一步,快速开始

liqiong

注册会员

2

主题

8

帖子

35

积分

注册会员

积分
35
最新发帖
liqiong
注册会员   /  发表于:2021-1-27 15:15  /   查看:2530  /  回复:7
1金币
我在setup里面1.先设置了变量const flag = ref(false),
2.并设置了初始化函数initSpread,函数里面根据后端数据绘制了表格,通过sheet.getCell(row, col).locked(flag.value)设置了表格某些单元格可以编辑。
但是有一个需求,我现在点外部一个的按钮,让刚才的那些单元格变成全都不可编辑。

3.外部按钮事件:handleClick把flag.value = true,这个时候,initSpread函数是不可能重新跑,因为有用户的操作会丢失。所以我们需要让initSpread这个函数的一部分
sheet.getCell(row, col).locked(flag.value) 重绘。怎么做到?

最佳答案

查看完整内容

您可以参考附件的demo

7 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-1-27 15:15:50
来自 4#
liqiong 发表于 2021-1-27 17:09
我的需求就是,表格里面的一部分单元格可编辑。当点了外部的一个按钮,这个表格的刚才的那一部分单元格又变 ...

您可以参考附件的demo

按钮.zip

3.75 KB, 下载次数: 49

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-1-27 15:37:58
2#
SpreadJS不知支持局部重绘,只能全部重绘。

麻烦您再详细描述一下您的需求,这边看下还有没有其他方法。
回复 使用道具 举报
liqiong
注册会员   /  发表于:2021-1-27 17:09:08
3#
我的需求就是,表格里面的一部分单元格可编辑。当点了外部的一个按钮,这个表格的刚才的那一部分单元格又变成不可编辑
回复 使用道具 举报
liqiong
注册会员   /  发表于:2021-1-27 17:53:22
5#
我看了你的示例,可是我的是Vue3,在问题里已经描述了,我把表格绘制都写在了一个函数里,我怎么点那个按钮,触发到这个函数里的一部分呢?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-1-27 18:22:04
6#
liqiong 发表于 2021-1-27 17:53
我看了你的示例,可是我的是Vue3,在问题里已经描述了,我把表格绘制都写在了一个函数里,我怎么点那个按钮 ...

两者并无直接关系,表单初始化后,通过按代码设置表单的属性是没有冲突的。建议您参考js的代码写到vue3里面。

若仍未解决您的问题,建议您提供能复现问题的demo
回复 使用道具 举报
liqiong
注册会员   /  发表于:2021-1-29 14:34:03
7#
已用其它方法解决,谢谢@DerrickJiao
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-1-29 14:39:26
8#
liqiong 发表于 2021-1-29 14:34
已用其它方法解决,谢谢@DerrickJiao

不用客气,解决了就好。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部