vue进入页面时触发input的点击事件?

发布于 2022-09-11 22:38:32 字数 204 浏览 15 评论 0

input是上传图片的,怎么在页面打开时触发点击事件进行图片选择?
想让用户在进入页面时就可以上传图片了,而不是需要点击一次后再上传

<input id="license" type="file" accept="image/*" ref="cameraPhotoInput_license" prop="license">

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

柏拉图鍀咏恒 2022-09-18 22:38:33

你这个也没绑定click事件,如果要触发点击事件的话,可以this.$refs.cameraPhotoInput_license.click()试试,最好在$nextTick中调用

扬花落满肩 2022-09-18 22:38:33

给个autofocus让输入框自动聚焦,然后@focus来触发自定义方法试试,我记得autofocus有的平台会有问题,楼主可能要用到自定义指令这一块的东西,先试试能不能实现~~

棒棒糖 2022-09-18 22:38:33

意味着调起图片选择器或者相机是自动触发的吗?

可以在进入页面的页面组件的生命周期中,使用js中 HTMLElement 的 dispatchEvent,例如类似下面的代码。

<script>
  mounted() {
    // 核心代码
    const trigger = () => {
      const $el = this.$refs.input.$el;
    
      $el.dispatchEvent(new Event('click'));
    }
    if (!this.$refs.input) {
      this.$nextTick(trigger.bind(this))
    } else {
      trigger();
    }
  }
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文