我使用Handsontable,在一列中,数据类型是一个整数,它是字符串v向量的索引。因此,我必须显示v [i]而不是显示整数索引i。我是通过手动声明自定义渲染器来实现的:
var annotationTableSettings = {
data: componentAnnotation,
columns: [
{renderer: annotationId2StringRenderer},
...
但是,当我复制单元格的值(在Windows中的Ctrl + c或mac中的cmd + c)时,将复制整数而不是渲染值。有谁知道如何复制渲染值(我想保留整数数据类型和自定义渲染器)。
这里可以看到一个例子:http://leoisl.gitlab.io/DBGWAS_support/full_dataset_visualization_0_4_6/components/comp_2.html 只需复制第一个表格第一行的第一个单元格(在北面板中) - 值为"(Phe)CML"你将复制值3,而不是"(Phe)CML"本身。
提前致谢!
答案 0 :(得分:1)
您可以使用beforeCopy钩子。
var annotationTableSettings = {
data: componentAnnotation,
beforeCopy: data => {
for (let i = 0; i < data.length; i++) {
for (let j = 0; j < data[i].length; j++) {
if (!isNaN(data[i][j])) {
data[i][j] = v[data[i][j]]
}
}
}
}
columns: [
{renderer: annotationId2StringRenderer},
...