这里使用vue3的<script setup>语法糖写法,搭配element plus实现文件的下载与预览
结构部分:使用element-plus 的el-link链接
<el-link
v-for="(item, index) in state.urlList"
type="primary"
ref="downloadLink"
:href="item"
:underline="false"
:key="item.index"
target="_blank"
style="display: block; margin-bottom: 10px,height: 20px;width: max-content;margin-left: 2em"
>附件{{ index + 1 }}
<span style="margin-left: 10px; margin-right: 2px" @click="accessoryClick(item)"
>预览</span>|
<span style="margin-left: 2px" @click="downloadFile(item)">下载</span>
</el-link>
交互部分代码:
//点击预览按钮
const accessoryClick = (value) => {
window.open(
'http://ip:端口/onlinePreview?url=' + encodeURIComponent($untils.$encode(value))
)
}
//点击下载按钮
const downloadLink = ref()
const downloadFile = (url) => {
if (downloadLink.value) {
downloadLink.value.href = url
downloadLink.value.click()
}
}