vue3实现上传功能

效果:

 

 点击即可上传

代码:

         <a-form-item label="附件" name="logUrl" placeholder="">
            <a-upload
            v-model:file-list="filesLists"
              :customRequest="uploadFile"
              class="upload-list-inline"
            >
              <a-button>
                <upload-outlined></upload-outlined>
              </a-button>
               <template #itemRender="{ file, actions }">
      <a-space>
        <span :style="file.status === 'error' ? 'color: red' : ''" :title="file.name">{{ file.name }}</span>
        <!-- <a href="javascript:;" @click="actions.remove"><delete-outlined /></a> -->
         <a href="javascript:;" @click="preview(file,actions)"><edit-outlined /></a>
         <a href="javascript:;" @click="remove(file,actions)"><delete-outlined /></a>
        
      </a-space>
    </template>
            </a-upload>
      </a-form-item>
const uploadFile = (file) => {
 let formData = new FormData();
  formData.append("file", file.file);
  const uid=file.file.uid
     uploadAPI(formData).then((res) => {
    imgLoding.value=false
    message.success("上传成功");
    filesList.value.push({...res,uid})
  });
};
export function uploadAPI (params) {
  return request({
    method: 'post',
    url: uploadApi+'/api/app/file-address/upload-file',
    data:params,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

 

function  preview (file) {
      changeInputVal.value = {...file}
      previewVisibleName.value = true
    }
const remove=(file,actions)=>{
actions.remove()
filesList.value = filesList.value.filter(item => item.uid !== file.uid);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值