我们的工具: AngularJS 1.5.11w/角质材料v?
思想
我们试图允许用户粘贴他们从excel或google电子表格复制到数据表中的一列输入中的一行或一列数据(在我们的用例中是整数)。如果它们粘贴到输入中,我们希望使用粘贴数据中的相应值填充输入及其下面的输入。
这实际上就像是从excel电子表格中复制列/行,并将其粘贴到数据表的一个列中,就像您期望复制的数据粘贴到任何其他电子表格中一样。
问题
当用户粘贴时,我们已经能够通过JQLite $event对象获取和解析粘贴的数据,并将这些数据值放入绑定到模板控制器的数组中。然后,我们对输入应该更改的行进行迭代,并为该行的输入将新值赋给正确的“ng-model”属性。问题是,似乎在粘贴的数据绑定到初始输入模型之前,ng粘贴函数正在执行,所以当我们在循环中更改第一个模型时,它会被覆盖(或其他什么)。基本上,初始输入保存粘贴的数据,而不是我们写入模型的值。
扑通
这里:https://embed.plnkr.co/Vt2jDiF7pVmrbYpuoz0E/ TO TEST:由空格、逗号、新行、回车或制表符分隔的任何一组值都应该与我们的代码一起工作。复制这一行:5.3245,6234.3443,95.2453,10.2594
并将其粘贴到一个输入中,以查看它是如何中断的。
发布于 2017-10-18 19:31:35
解决办法:
https://plnkr.co/edit/KjA1gnQj6JYbxFswLQjd?p=preview
ev.preventDefault()
return;
上面的片段防止实际的粘贴操作发生。
https://stackoverflow.com/questions/46813596
复制相似问题