图片上传步奏条

图片上传步奏条

码农世界 2024-05-23 前端 81 次浏览 0个评论

页面展示

{uploadStatus === 'uploading' ? (
  
{ top: `${imgProcess}%`, }} />
) : null}

获取进度条长度方法

const [imgProcess, setImgProcess] = useState(0); // 上传进度
const [uploadStatus, setUploadStatus] = useState(''); // 上传状态
const [uplaodingImg, setUplaodingImg] = useState(''); // 上传中的图片
let timer: unknown; // 定时器
let status = ''; // 上传状态(解决异步用的)
// 上传进度条
function runner() {
  const step = 10;
  let interval = 800;
  let process = 0;
  return () => {
    timer = setInterval(() => {
      // 进度条到达90%,仍未上传完成,暂停进度条
      if (process >= 90 && status === 'uploading') {
        return;
      }
      // 上传完成加快进度条速度
      if (status === 'finsih') {
        interval = 10;
      }
      // 进度条加载完毕
      if (process >= 100) {
        clearInterval(timer);
        return;
      }
      process += step;
      setImgProcess(process);
    }, interval);
  };
}

调用

setUploadStatus('uploading');
status= 'uploading';
runner()();

转载请注明来自码农世界,本文标题:《图片上传步奏条》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,81人围观)参与讨论

还没有评论,来说两句吧...

Top