Files
EdgeAdmin/web/public/js/components/common/download-link.js

42 lines
930 B
JavaScript
Raw Normal View History

2020-10-11 10:51:13 +08:00
Vue.component("download-link", {
props: ["v-element", "v-file", "v-value"],
2020-10-11 10:51:13 +08:00
created: function () {
let that = this
setTimeout(function () {
that.url = that.composeURL()
}, 1000)
},
data: function () {
let filename = this.vFile
if (filename == null || filename.length == 0) {
filename = "unknown-file"
}
return {
file: filename,
url: this.composeURL()
}
},
methods: {
composeURL: function () {
let text = ""
if (this.vValue != null) {
text = this.vValue
} else {
let e = document.getElementById(this.vElement)
if (e == null) {
// 不提示错误,因为此时可能页面未加载完整
return
}
text = e.innerText
if (text == null) {
text = e.textContent
}
2020-10-11 10:51:13 +08:00
}
return Tea.url("/ui/download", {
file: this.file,
text: text
})
}
},
template: `<a :href="url" target="_blank" style="font-weight: normal"><slot></slot></a>`,
2020-10-11 10:51:13 +08:00
})