async getClipboardData() {
try {
const { clipboard } = navigator
if (!clipboard) return
const text = await clipboard.readText()
return text
} catch (err) {
console.log('读取剪贴板失败:', err)
}
},
这是直接调用Chrome的clipboard
在以下情况下会失效:
- 当前浏览器URL是
http开头(Chrome只支持https协议的剪切板api调用)
下面的方式是直接调用事件绑定上的Event
handlePaste(event) {
// console.log('======event:', event)
const clipboardData = event.clipboardData.getData('text')
// 获取当前剪切板中的数据并按照回车、制表、换行分成数组并过滤(空值以及重复值)
const inputValueArr = clipboardData..split(/\n|\t|\r/)
let result = [...new Set([...inputValueArr, ...this.pasteSelectedValue])] || []
result = result.filter((item) => item)
return result
},