当前位置: 首页 > news >正文

上海企业工商查询拼多多seo是什么意思

上海企业工商查询,拼多多seo是什么意思,公司管理信息系统,百度seo策略当使用 Vant 的上传组件时,你可能会遇到以下情况: 选择图片后立即显示本地预览图(正确) 上传到服务器并等待接口返回 接口返回后图片会"闪动"一下再显示 这种闪动现象通常是由于 Vant 上传组件的工作机制导致的。 …

当使用 Vant 的上传组件时,你可能会遇到以下情况:

  1. 选择图片后立即显示本地预览图(正确)

  2. 上传到服务器并等待接口返回

  3. 接口返回后图片会"闪动"一下再显示

这种闪动现象通常是由于 Vant 上传组件的工作机制导致的。

根本原因

  1. 双阶段渲染

    • 第一阶段:选择文件后立即使用 URL.createObjectURL() 创建本地预览

    • 第二阶段:上传完成后用服务器返回的 URL 替换本地预览

  2. URL 替换

    • 本地预览的 Blob URL 和服务器返回的 HTTP URL 不同

    • 替换时浏览器需要重新加载图片

  3. Vant 默认行为

    • 上传过程中会显示上传状态

    • 上传完成后会更新文件列表

解决方案

方案1:保持使用本地预览(不替换URL)

<template>
  <van-uploader
    v-model="fileList"
    :after-read="uploadFile"
    :before-read="beforeRead"
  />
</template>

<script setup>
import { ref } from 'vue';

const fileList = ref([]);

const uploadFile = (file) => {
  // 保持使用本地预览,不上传
  file.status = 'done';
  file.message = '上传成功';
  
  // 如果需要上传到服务器但不替换图片:
  // uploadToServer(file.file).then(res => {
  //   // 不更新URL,保持本地预览
  //   file.status = 'done';
  // });
};
</script>

方案2:优化上传流程避免闪动

vue

复制

<template><van-uploaderv-model="fileList":after-read="uploadFile"/>
</template><script setup>
import { ref } from 'vue';const fileList = ref([]);const uploadFile = async (file) => {// 1. 立即显示为完成状态file.status = 'done';// 2. 静默上传(不显示上传状态)try {const serverUrl = await uploadToServer(file.file);// 3. 直接更新URL而不改变状态file.url = serverUrl;} catch (error) {// 上传失败时显示错误状态file.status = 'failed';file.message = '上传失败';}
};async function uploadToServer(file) {// 你的上传逻辑return 'https://example.com/new-image-url.jpg';
}
</script>

方案3:自定义预览逻辑(推荐)

vue

复制

<template><van-uploaderv-model="fileList":after-read="handleUpload":before-read="addLocalPreview"/>
</template><script setup>
import { ref } from 'vue';const fileList = ref([]);// 添加本地预览
const addLocalPreview = (file) => {return new Promise((resolve) => {const reader = new FileReader();reader.onload = (event) => {file.url = event.target.result; // 使用Base64而不是Blob URLresolve(true);};reader.readAsDataURL(file.file);});
};// 上传处理
const handleUpload = async (file) => {file.status = 'uploading';try {const serverUrl = await uploadToServer(file.file);// 保持相同的URL格式(Base64 -> HTTP)file.url = serverUrl;file.status = 'done';} catch (error) {file.status = 'failed';file.message = '上传失败';}
};
</script>
http://www.dtcms.com/a/491126.html

相关文章:

  • 国外人像摄影网站国内建站平台
  • 详细的Linux系统更新yum源的教程
  • 余姚做网站设计的淄博网站制作价格低
  • HolmesGPT 正式上线 丨 KubeSphere 助力云原生智能排障新体验
  • 【开题答辩过程】以《基于微信小程序教学评价平台的设计与实现》为例,不会开题答辩的可以进来看看
  • 淘宝式网站建设国外注册品牌 建设网站
  • 邵阳网站建设设计哈尔滨制作网站工作室
  • 管理中心理学问:人为什么要学习?
  • 长沙网站托管公司排名wordpress相册幻灯片
  • ps网站怎么做超链接海南百度首页广告
  • seo网站建设哪家专业wordpress建好本地站怎么上传
  • JVM 之 volatile可见性、禁止指令重排序的JVM实现
  • 荣耀手机2025年10月发布的新品Magic8比起Magic7,在硬件、性能、价格等上有什么区别,有什么优势
  • YOLO V1 和 V2笔记
  • C++ 创建一个窗口采用GDI的方式绘制文字
  • 谷歌网站推广费用建网站域名注册
  • python 网站开发 普及消防证怎么考取需要什么条件
  • 网络层次划分-网络层
  • 做响应式网站应该注意什么问题有自己的域名怎么建设网站
  • ClickHouse 数据更新策略深度解析:突变操作与最佳实践
  • 餐饮商城网站建设网站备案幕布要求
  • Prometheus监控部署
  • php ajax网站开发典型实例 pdfwordpress账号邮箱
  • 栈与队列:数据结构的基石与应用
  • 多态的定义
  • 开设网站的费用在微信怎样搞做微视频网站
  • wordpress禁止游客访问上海市网站seo
  • AI代码生成对CRUD联调流程的重构分析
  • 如何通过优化中药饮片采购流程实现供应链协同?
  • 建站产品网页制作工作怎么样