vue框架下:label+input选择文件上传文件(踩坑)

目的

使用Vue框架和axios上传文件:
label+input选择文件上传文件,将input标签隐藏,只显示label标签,同时在事件函数里面通过改变Vue data的数据实现显示标签的变化


HTML代码:
<template>
  <div class="page">
    <div class="upload-mod-wrap">
      <!-- 上传文件的盒子 -->
      <div class="upload-file">
        <div class="upload-file-header">
          <a href="javascript:;">X</a>
        </div>
        <div ref="uploadFileBody" class="upload-file-body">
          <!-- 上传文件input -->
          <div v-show="isActive == 0" class="upload-file-btn">
            <div class="input-label" @click="clickInput">
              <span>+</span><br />
              <span>选取文件</span>
            </div>
            <input
              ref="fileInput"
              type="file"
              id="js-upload-file"
              @change="uploadFile"
            />
          </div>
          <!-- 进度条 -->
          <div v-show="isActive == 1" class="upload-file-loading clear">
            <div class="loading-bar">
              <div ref="loadingBar" id="londing" :style="{
       width: progress }">
                <span v-if="!isLoading">上传完成</span>
              </div>
            </div>
            <div class="loading-info">
              <span>文件名:</span>
              <span class="echo-size"> {
  { filename }}</span>
              <br />
              <span>进度:</span>
              <span class="echo-size"> {
  { progress }}</span>
            </div>
          </div>
          <!-- 上传文件的表面 -->
          <!-- <div class="upload-file-face">+</div> -->
        </div>
        <div class="upload-file-tail">
          <div>
            <button>取消</button>
            <button>退出</button>
          </div>
        </div>
      </div>
    </div>
    <div class="page-content"></div>
  </div>
</template>

修改后的JS代码:

<script>
const axios = require("axios");

export default {
   
  name: "OPenFile",
  data() {
   
    return {
   
      isActive: 0,
      isLoading: true,
      errInfo: "",
      filename: 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值