2

要求:我需要在我的 Web 应用程序上使用 Handsontable,用户可以在其中输入带有两个连续双引号的值

jsfiddle链接:

sample strings: 
${v=""}
var s=""
http://jsfiddle.net/a3uj6/1/

Handsontable 问题:如果单元格有两个连续的双引号,则在将单元格复制粘贴到另一个单元格时缺少一个双引号。如果用户拖动单元格值以将其放置在下一列/单元格中,则会出现同样的问题。

注意:用户没有进行复制/粘贴或拖动多行文本,它只是带有两个连续引号的单行文本。

我也将此作为问题发布在 github 中。同时,如果有任何解决方法来解决复制/粘贴问题,更受欢迎。谢谢。

4

1 回答 1

0

这是一个不优雅的解决方案,但对我来说是一种解决方法。

使用钩子onBeforePaste,您可以按如下方式处理粘贴的内容:

onBeforePaste: (values, range) => {
  const { startRow, startCol } = [range];

  var content = [];
  values.forEach((row, i) => {
    row.forEach((value, x) => {
      content.push([startRow + i, startCol + x, value]);
    });
  });
  hotInstante.setDataAtCell(content);

  return false;
},

有使用的钩子的文档

于 2022-01-06T15:40:46.480 回答