对于Handsontable,我使用自动完成列来让用户从预定义名称列表中进行选择。但是,当用户选择一个名称时,我实际上并未将该名称存储在数据对象上,而是存储了一个与该名称相关的ID。最初加载表时,id也是数据上可用的ID。
这意味着我需要一个从id到name以及反之亦然的函数。我在渲染器中使用id命名函数,在beforeChange
中使用id命名函数,以便输出包含id。
这是我的问题:
如果我选择了一个显示名称的单元格,然后按Enter键,那么我看到的是ID而不是名称。有什么方法可以更改编辑器的行为,以便显示名称而不是ID?
其他一切似乎都起作用。例如,如果我选择一个单元格并开始键入,它现在将包含我键入的内容,并且自动完成功能将按预期工作。我想在单元格上按Enter时具有相同的行为。
最佳答案
我最终使用了一种解决方案,在该解决方案中,我会在加载所有数据时对其进行转换。然后从工作表中提取数据时,我会将其转换回去。
我在日期编辑器中遇到了类似的问题,我想在用户日期格式和规范化日期格式之间来回切换。 Handsons编辑器不是那么容易使用,尤其是日期编辑器在setValue
上接收不同格式的日期。
该解决方案感觉有点棘手,但同时只有在这两种情况下才对数据进行转换,这使得与我进行渲染,数据输入,验证等转换相比,不太可能出现任何错误。通过这种解决方案,我知道只要我们在工作表中,数据就是用户所看到的。