uniapp + vue 框架,不触发@change方法:
<template>
<view>
<input type="file" @change="handleFileChange" />
...
methods: {
handleFileChange(event) {
console.log('点击选择文件')
// 获取选择的文件
this.file = event.target.files[0];
console.log('选择的文件以及文件类型:', this.file, typeof this.file);
},
因为
uni-app
提供的input
组件就没有file
类型,也没有change
事件。也就是说你使用的
input
组件并不是原生HTML中的<input>
元素(虽然可能编译为Web的时候可能会帮你转换成原生的input
元素)。具体看文档 👉 input | uni-app官网
如果可以改成使用 uni-file-picker 文件选择上传 组件会更好一些?