同一个文件再选一次不触发 change,先清空输入框的值

选同一个文件不再触发 change,是浏览器认为值没变过。

处理完立刻把输入框的 value 置成空串,再选就会重新触发。

已经拿到的 File 对象不受影响,照常走上传流程。

用受控组件时还要同步清掉绑定变量,光清 DOM 不够。

const el = document.getElementById('f');
el.addEventListener('change', () => {
  const file = el.files[0];
  upload(file);
  el.value = '';      // 关键:清空才能再次触发
});
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容