uniapp + vue 框架,为何不触发input 的 @change方法?

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);
  },
阅读 268
1 个回答

因为 uni-app 提供的 input 组件就没有 file 类型,也没有 change 事件。
也就是说你使用的 input 组件并不是原生HTML中的 <input> 元素(虽然可能编译为Web的时候可能会帮你转换成原生的 input 元素)。

具体看文档 👉 input | uni-app官网

如果可以改成使用 uni-file-picker 文件选择上传 组件会更好一些?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏