代码地址如下:
https://github.com/GavinZhuLei/vue-form-making/blob/master/src/components/Upload/index.vue#L204
部分代码如下:
xhr.onreadystatechange = () => {
console.log(xhr)
if (xhr.readyState === 4) {
let resData = JSON.parse(xhr.response)
if (resData && resData.url) {
this.$set(this.fileList, this.fileList.findIndex(item => item.key === key), {
...this.fileList[this.fileList.findIndex(item => item.key === key)],
url: resData.url,
percent: 100,
status: 'success', // 这里是我加的,直接写在这里不行吗?
})
this.$emit('input', this.fileList) // 这里是我加的,直接写在这里不行吗?
// 这里为啥要 setTimeout ?
setTimeout(() => {
this.$set(this.fileList, this.fileList.findIndex(item => item.key === key), {
...this.fileList[this.fileList.findIndex(item => item.key === key)],
status: 'success'
})
this.$emit('input', this.fileList)
}, 200)
} else {
this.$set(this.fileList, this.fileList.findIndex(item => item.key === key), {
...this.fileList[this.fileList.findIndex(item => item.key === key)],
status: 'error'
})
this.fileList.splice(this.fileList.findIndex(item => item.key === key), 1)
}
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.