使用elementplus的upload上传文件,将文件名展示在表格中
时间: 2024-03-17 22:41:17 浏览: 92
jquery插件ajaxupload实现文件上传操作
好的,以下是一个使用Element Plus中的upload上传文件,并将文件名展示在表格中的示例代码:
```html
<template>
<div>
<el-upload
class="upload-demo"
action="/your-upload-api"
:on-success="handleSuccess"
:on-error="handleError"
:before-upload="beforeUpload"
:auto-upload="false"
>
<el-button size="small" type="primary">选取文件</el-button>
<el-button style="margin-left: 10px;" size="small" type="success" :disabled="!file">上传文件</el-button>
<span style="margin-left: 10px;">上传的文件名: {{ file ? file.name : '' }}</span>
</el-upload>
<el-table :data="tableData">
<el-table-column prop="name" label="文件名"></el-table-column>
</el-table>
</div>
</template>
<script>
import { ref } from 'vue'
import { ElUpload, ElButton, ElTable, ElTableColumn } from 'element-plus'
export default {
components: { ElUpload, ElButton, ElTable, ElTableColumn },
setup() {
const file = ref(null)
const tableData = ref([])
const beforeUpload = (file) => {
// 判断文件是否为图片格式
const isImage = file.type.startsWith('image/')
if (!isImage) {
this.$message.error('只能上传图片文件!')
return false
}
return true
}
const handleSuccess = (response, file) => {
tableData.value.push({ name: file.name })
file.value = null
}
const handleError = (error, file) => {
this.$message.error('上传失败!')
file.value = null
}
return {
file,
tableData,
beforeUpload,
handleSuccess,
handleError
}
}
}
</script>
```
这段代码中,我们使用了Element Plus中的`el-upload`组件实现文件上传功能,使用`before-upload`属性进行文件格式验证,使用`on-success`属性在上传成功后将文件名添加到`tableData`中,并且将`file`置为`null`,以便用户上传下一个文件。同时,我们使用`ref`函数创建了`file`和`tableData`的响应式引用,在模板中展示出来。最后,我们使用了`el-table`组件和`el-table-column`组件来展示文件名。
阅读全文