vue3实现 附件上传简单代码示例【自用】

vue3实现 附件上传简单代码示例

<el-form-item label="上传附件" prop="enclosure">
          <el-upload
            v-model:file-list="enclosureFileList"
            class="upload-demo"
            action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
            multiple
            :on-preview="handlePreview"
            :on-remove="handleEnclosureRemove"
            :before-remove="beforeRemove"
            :limit="3"
            :on-exceed="handleExceed"
          >
            <el-button type="primary">上 传</el-button>
            <template #tip>
              <div class="el-upload__tip">
                jpg/png/doc/jpeg/pdf, and files with a size less than 500KB.
              </div>
            </template>
          </el-upload>
        </el-form-item>
<script>
// 附件
const enclosureFileList = ref<UploadUserFile[]>([
  {
    name: "element-plus-logo.svg",
    url: "https://element-plus.org/images/element-plus-logo.svg",
  },
  {
    name: "element-plus-logo2.svg",
    url: "https://element-plus.org/images/element-plus-logo.svg",
  },
]);

// 上传附件
const handleEnclosureRemove: UploadProps["onRemove"] = (file, uploadFiles) => {
  console.log(file, uploadFiles);
};

const handlePreview: UploadProps["onPreview"] = (uploadFile) => {
  console.log(uploadFile);
};

const handleExceed: UploadProps["onExceed"] = (files, uploadFiles) => {
  ElMessage.warning(
    `The limit is 3, you selected ${files.length} files this time, add up to ${
      files.length + uploadFiles.length
    } totally`
  );
};

const beforeRemove: UploadProps["beforeRemove"] = (uploadFile, uploadFiles) => {
  return ElMessageBox.confirm(
    `Cancel the transfer of ${uploadFile.name} ?`
  ).then(
    () => true,
    () => false
  );
};
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
好的,让我想一想... 以下是一个使用 Vue 3 和 Vue CLI 实现登录的代码示例: 1. 在命令行中使用 Vue CLI 创建一个新项目: ``` vue create my-login-app ``` 2. 安装所需的依赖项: ``` cd my-login-app npm install axios vue-router ``` 3. 在 src/main.js 文件中引入必要的依赖项: ```javascript import Vue from 'vue' import App from './App.vue' import axios from 'axios' import VueRouter from 'vue-router' Vue.config.productionTip = false Vue.use(VueRouter) Vue.prototype.$axios = axios const routes = [ { path: '/', component: App } ] const router = new VueRouter({ routes }) new Vue({ router, render: h => h(App), }).$mount('#app') ``` 4. 在 App.vue 文件中实现登录逻辑: ```html <template> <div> <h1>登录页</h1> <form @submit.prevent="login"> <div> <label for="username">用户名:</label> <input id="username" v-model="username" type="text"> </div> <div> <label for="password">密码:</label> <input id="password" v-model="password" type="password"> </div> <button type="submit">登录</button> </form> </div> </template> <script> export default { data() { return { username: '', password: '', errorMessage: '', } }, methods: { async login() { const response = await this.$axios.post('/api/login', { username: this.username, password: this.password, }) if (response.status === 200) { this.$router.push('/dashboard') } else { this.errorMessage = '用户名或密码错误' } } }, } </script> ``` 在实际使用时,你需要将上面的代码改成符合你的后端 API 接口。不要忘记在 package.json 文件中配置一下代理,以便在开发模式下使用真实的 API 接口。 ``` { ..., "devServer": { "proxy": { "/api": { "target": "http://localhost:3000", "changeOrigin": true } } } } ``` 这就是一个使用 Vue 3 和 Vue CLI 实现登录的简单示例。如果你还有什么问题,我会尽力回答的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骨子里的偏爱

上传不易,还请多多支持。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值