首页 > 其他分享 >vue本地头像实时更新

vue本地头像实时更新

时间:2023-01-05 10:46:17浏览次数:38  
标签:文件 avatarObj myFileReader 100px 实时 头像 vue 阅读器

代码

template

    <div class="form-group">
      <p><label for="avatar">
        <img :src="imageUrl" alt="" id="img" ref="img" style="width: 100%;">
      </label></p>
      <input type="file" name="avatar" id="avatar" style="display: none" @change="changeimg">
    </div>

script

<script>
export default {
  data() {
    return {
      // 图片路径
      imageUrl: 'https://cube.elemecdn.com/9/c2/f0ee8a3c7c9638a54940382568c9dpng.png',
    }
  },
  methods: {
    //  更新头像
    changeimg(e) {
      // 1.产生一个文件阅读器对象
      const myFileReader = new FileReader();
      // 2.获取用户上传的头像文件
      // let avatarObj = document.getElementById('avatar').files[0];
      const avatarObj = e.target.files[0]
      // 3.将文件对象交给阅读器加载
      myFileReader.readAsDataURL(avatarObj)  // IO操作 需要消耗时间 但是是异步
      // 4.修改img标签的src属性
      // 等待文件阅读器对象加载完毕之后再修改src属性
      myFileReader.onload = (e) => {
        this.imageUrl = e.target.result
      }
    },
  }
}
</script>

style

/*头像*/
.form-group {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
}

标签:文件,avatarObj,myFileReader,100px,实时,头像,vue,阅读器
From: https://www.cnblogs.com/chunyouqudongwuyuan/p/17026868.html

相关文章

  • Vue的生命周期
    1.beforeCreate:无法通过vm,访问data,和methods。2.created:可以通vm,访问data和methods的方法。3.beforeMount:(1).生成未经vue编译的DOM结构,        ......
  • iOS 16.1 正式版发布,苹果 App Store 上架首批支持“实时活动”应用
    10月25日消息,今天苹果发布了iOS16.1正式版,苹果AppStore介绍了iOS16新功能尝鲜,包括锁定屏幕、实时活动,以及更多精彩。苹果精选了一些用户可能会喜欢的内容,搭配相......
  • 基于vue+Element Table 表格的封装
    项目场景:项目场景:需要频繁使用列表进行呈现数据,不可能每次都写一个表格,可以将表格封装为一个组件,在需要使用时可以直接调用。效果展示:项目结构:具体实现:Table.vue......
  • 关于头像
    这几天看到了\(dottle\)的头像,大受震撼(雾),于是佩服起\(AI\)的强大,时代终究是变了啊!于是乎决定让\(AI\)给自己也画一画。于是把\(npy\)的名字搞进了文心大模型,结果就出来了......
  • Vue项目创建
    一、创建项目1.安装淘宝镜像npmi-gcnpm--registry=https://registry.npm.taobao.org2.安装vue的脚手架工具npmi-gvue-cli3.测试vue-V4.初始化包结构vuein......
  • Vue-Router
    Rouer组件可以构造单页引用多页应用:mpa每一个页面都是一个html文件方便seo优化单页应用:spa知乎网站掘进百度移动端单页用于取决情况:1.用户群体比较......
  • Vuex使用
    Vuexvuex是专为vue.js应用程序开发的管理模式,它采用集中式储存管理应用的去全部组件状态,并以响应的规则邦正状态可以以一种可预测的方式变化​​主要管理数据​使用......
  • vite+vue3使用transition
    一番操作发现切换路由竟然没效果,控制台打印了警告原因是确实根节点,按照如下方式解决,可以愉快的进行路由切换了......
  • 【Vue】常见问题(一)找不到模块“./App.vue”或其相应的类型声明。ts(2307)
    vue+vite项目,打开找不到模块  解决办法:在根目录下创建jsconfig.json文件,进行如下配置:  {"compilerOptions":{"baseUrl":"./","pat......
  • vue数据大屏适配
    1、不管使用的是px,还是百分比,均可通过css3中提供的scale方法,来达到适配多端。//屏幕适配mixin函数//*默认缩放值constscale={width:'1',height:'1',......