找回密码
 立即注册

QQ登录

只需一步,快速开始

云智装
金牌服务用户   /  发表于:2021-12-31 17:36  /   查看:4978  /  回复:13
本帖最后由 Derrick.Jiao 于 2022-1-5 09:56 编辑

Uncaught TypeError: Cannot read properties of undefined (reading 'rightButtonArea')
右键插入,然后直接输入数据就报错了。
操作如下图

image.png738300170.png
81bcd85f0ca40299fc5d2f4f6420421.png631620177.png
image.png656001586.png

13 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-8-2 09:56:25
推荐
更新进展:
该问题已在V15.1.4修复,您可以升级测试下。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2021-12-31 17:55:08
沙发
你好,请问你的版本是多少呢?我们在新版本中修复了类似的bug,建议你升级至14.2.5后尝试,若仍未解决,请提供能复现问题的demo,这边来做进一步调研。
回复 使用道具 举报
云智装
金牌服务用户   /  发表于:2022-1-4 11:18:58
板凳
Derrick.Jiao 发表于 2021-12-31 17:55
你好,请问你的版本是多少呢?我们在新版本中修复了类似的bug,建议你升级至14.2.5后尝试,若仍未解决,请 ...

之前是14.2.4,升级最新的还是不行。稍等我重新弄个dome
回复 使用道具 举报
云智装
金牌服务用户   /  发表于:2022-1-4 11:34:16
地板
Derrick.Jiao 发表于 2021-12-31 17:55
你好,请问你的版本是多少呢?我们在新版本中修复了类似的bug,建议你升级至14.2.5后尝试,若仍未解决,请 ...

我在功能例子上做了数据,不会报错,但仍然无法输入,

image.png572373656.png
代码
  1. import * as React from 'react';
  2. import * as ReactDOM from 'react-dom';
  3. import '@grapecity/spread-sheets-resources-zh';
  4. GC.Spread.Common.CultureManager.culture("zh-cn");
  5. import GC from '@grapecity/spread-sheets';
  6. import { SpreadSheets } from '@grapecity/spread-sheets-react';
  7. import './styles.css';

  8. const Component = React.Component;
  9. const GCsheets = GC.Spread.Sheets;

  10. function _getElementById(id) {
  11.     return document.getElementById(id);
  12. }

  13. class App extends Component {
  14.     constructor(props) {
  15.         super(props);
  16.         this.spread = null;
  17.         this.table = null;
  18.         this.state = {
  19.             dirtyRowsValue: null
  20.         };
  21.     }
  22.     render() {
  23.         return (
  24.             <div class="sample-tutorial">
  25.                 <div class="sample-spreadsheets">
  26.                     <SpreadSheets workbookInitialized={spread=>this.initSpread(spread)}>
  27.                     </SpreadSheets>
  28.                 </div>
  29.                 <Panel
  30.                     dirtyRowsValue={this.state.dirtyRowsValue}
  31.                     onGetDirtyRowsClickEvent={(e)=>{this.onGetDirtyRowsClickEvent(e)}}
  32.                 />
  33.             </div>
  34.         );
  35.     }
  36.     initSpread(spread) {
  37.         this.spread = spread;
  38.         spread.suspendPaint();
  39.         let sheet = spread.getActiveSheet();

  40.         let data = {
  41.             name: 'Jones', region: 'East',
  42.             sales: [
  43.                 {orderDate: '1/6/2013', item: 'Pencil', units: 95, cost: 1.99, isDelivered: true},
  44.                 {orderDate: '4/1/2013', item: 'Binder', units: 60, cost: 4.99, isDelivered: false},
  45.                 {orderDate: '6/8/2013', item: 'Pen Set', units: 16, cost: 15.99, isDelivered: false}
  46.             ]
  47.         };
  48.         let convert = function (item) {
  49.             return item['cost'] + '

  50. ;
  51.         }
  52.         let table = sheet.tables.add('tableSales', 0, 0, 5, 5);
  53.         this.table = table;
  54.         let range = sheet.getRange(1, 0,3,1);

  55.         table.style(GCsheets.Tables.TableThemes["medium4"]);
  56.         let tableColumn1 = new GCsheets.Tables.TableColumn(1, "orderDate", "Order Date", "yyyy-mm-dd");
  57.         let tableColumn2 = new GCsheets.Tables.TableColumn(2, "item", "Item");
  58.         let tableColumn3 = new GCsheets.Tables.TableColumn(3, "units", "Units");
  59.         let tableColumn4 = new GCsheets.Tables.TableColumn(4, "cost", "Cost", null, null, convert);
  60.         let tableColumn5 = new GCsheets.Tables.TableColumn(5, "isDelivered", "Delivered");
  61.         table.autoGenerateColumns(false);
  62.         table.bind([tableColumn1, tableColumn2, tableColumn3, tableColumn4, tableColumn5], 'sales', data);
  63.         range.cellButtons([
  64.         {
  65.           imageType: GCsheets.ButtonImageType.ellipsis,
  66.           position: GCsheets.ButtonPosition.right,
  67.         }
  68.       ])
  69.         spread.resumePaint();
  70.     }
  71.     onGetDirtyRowsClickEvent(e) {
  72.         let table = this.table;
  73.         if (table) {
  74.             let dataArr = table.getDirtyRows();
  75.             let str = "";
  76.             for (let i = 0; i < dataArr.length; i ++) {
  77.                 str += dataArr[i].row + ", ";
  78.             }
  79.             this.setState({ dirtyRowsValue: str });
  80.         }
  81.     }
  82. }

  83. class Panel extends Component{

  84.     constructor(props){
  85.         super(props);
  86.     }
  87.     render(){
  88.         return (
  89.             <div class="options-container">
  90.                 <div class="option-row">
  91.                     <label class="custom-label">Change table data and click button to get the dirty rows.</label>
  92.                 </div>
  93.                 <input type="button" id="getState" value="Get Dirty Rows" onClick={(e)=>{this.props.onGetDirtyRowsClickEvent(e)}} />
  94.                 <textarea id="stateText" class="state-text" value={this.props.dirtyRowsValue}></textarea>
  95.             </div>
  96.         );
  97.     }
  98. }

  99. ReactDOM.render(<App />, _getElementById('app'));
复制代码


回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-1-4 12:27:19
5#
云智装 发表于 2022-1-4 11:34
我在功能例子上做了数据,不会报错,但仍然无法输入,

我这边按照上面提供的代码添加cellButton后,然后插入一行是可以正常输入的,请再提供更加详细的复现步骤。
image.png661953429.png
回复 使用道具 举报
云智装
金牌服务用户   /  发表于:2022-1-4 19:31:12
6#
Derrick.Jiao 发表于 2022-1-4 12:27
我这边按照上面提供的代码添加cellButton后,然后插入一行是可以正常输入的,请再提供更加详细的复现步骤 ...

发现在别sheet插入后直接按键盘输入,都输不进去
1641295529(1).jpg737242736.png
1641295573(1).jpg738300170.png
1641295764(1).jpg408471373.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-1-5 09:56:53
7#
云智装 发表于 2022-1-4 19:31
发现在别sheet插入后直接按键盘输入,都输不进去

了解了,我这边在windows系统的电脑山复现了该问题,这边会做进一步调研,此贴先改为保留处理,有进展会在本帖更新。
回复 使用道具 举报
何时待我
金牌服务用户   /  发表于:2022-1-5 10:03:04
8#
Derrick.Jiao 发表于 2022-1-5 09:56
了解了,我这边在windows系统的电脑山复现了该问题,这边会做进一步调研,此贴先改为保留处理,有进展会 ...

插入,删除, 清除内容后都无法直接输入
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-1-5 10:18:05
9#
何时待我 发表于 2022-1-5 10:03
插入,删除, 清除内容后都无法直接输入

上面描述的插入、删除、清除这边也复现了,并且一并提交做进一步调研了。
回复 使用道具 举报
云智装
金牌服务用户   /  发表于:2022-1-5 11:23:47
10#
Derrick.Jiao 发表于 2022-1-5 10:18
上面描述的插入、删除、清除这边也复现了,并且一并提交做进一步调研了。

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