我正在使用Reactjs。在React中,如何在React中使用document.createRange
和window.getSelection
以及document.execCommand('copy')
?
我想复制html表的内容。所以我用了代码
copyTable(e){
let elTable = this.tableElement.current.localName\\ elTable= "table"
this.copyData(elTable)
}
copyData(elToBeCopied){
let range, sel;
// Ensure that range and selection are supported by the browsers
if (document.createRange && window.getSelection) {
range = document.createRange();
sel = window.getSelection();
// unselect any element in the page
sel.removeAllRanges();
try {
range.selectNodeContents(elToBeCopied);
sel.addRange(range);
} catch (e) {
range.selectNode(elToBeCopied);
sel.addRange(range);
}
document.execCommand('copy');
}
sel.removeAllRanges();
console.log('Element Copied! Paste it in a file')
}
通过在html表中创建一个elTable
,我得到了ref
的值。
调试后,调试器将进入函数copyData
。
但是不能从表中复制数据。为什么?
我正在使用React js。