分享 复制路径到剪贴板
最近项目中需要做文件分享的功能,特在此做一下记录,希望给相同需求的码友一个参考
项目整体代码
<div @click="controlsBtn()" >
<span>分享</span>
</div>
<el-dialog :title="title" :visible.sync="dialogShareVisible">
<div class="breadcrumb">
<span>分享地址:{{ shareData }}</span>
<el-button @click="copyText(shareData)">复制地址</el-button>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelShare" >关 闭</el-button>
</div>
</el-dialog>
// 接口 根据项目
import { shareSubmit } from '@/modules/ossClient/api/ossWebApi'
export default {
data () {
return {
title: '分享',
dialogShareVisible: false,
controlsList: [], // 多选批量分享的时候会用到
shareData: '',
}
},
methods: {
async controlsBtn () {
this.dialogShareVisible = true
const ids = []
if (item?.id) {
ids.push(item?.id)
} else if (this.controlsList.length) {
this.controlsList.forEach((item) => {
ids.push(item.id)
})
}
const res = await shareSubmit(ids.join(','))
const urlWithoutParams = window.location.origin
this.shareData = urlWithoutParams + res.data.data
},
copyText(text){
const isClipboardApiSupported = window.navigator && window.navigator.clipboard
if (isClipboardApiSupported) {
window.navigator.clipboard.writeText(text)
} else {
const textarea = document.createElement('textarea')
textarea.readOnly = true
textarea.value = text
textarea.style.position = 'absolute'
textarea.style.top = '-9999px'
textarea.style.left = '-9999px'
document.body.appendChild(textarea)
textarea.select()
document.execCommand('copy')
textarea.remove()
}
}
}
}
复制文本到剪贴板的核心方法
copyText(text){
// Whether to support navigator.clipboard attribute
const isClipboardApiSupported = window.navigator && window.navigator.clipboard
if (isClipboardApiSupported) {
window.navigator.clipboard.writeText(text)
} else {
const textarea = document.createElement('textarea')
textarea.readOnly = true
textarea.value = text
textarea.style.position = 'absolute'
textarea.style.top = '-9999px'
textarea.style.left = '-9999px'
document.body.appendChild(textarea)
textarea.select()
document.execCommand('copy')
textarea.remove()
}
}
可以将需要分享的链接复制到剪贴板,然后发送给需要的小伙伴,关于分享页面的内容,将在下篇描述,感兴趣的码友,可以查看链接: 文件分享下载页面
2265

被折叠的 条评论
为什么被折叠?



