我们实现的时点击头像栏这一整行都可以更换头像这个功能。
我们需要使用vant组件库中的Uploader文件上传组件。
即:

<van-uploader :after-read="afterRead" />

将这个代码复制到我们的代码中。
注意此处的uploader组件需要和edit banner组件同级。

<div class="uploadfile">
      <div class="uploadimg">
        <van-uploader preview-size="100vw" :after-read="afterRead" />
      </div>
      <edit-banner left="头像">
        <img :src="model.user_img" slot="right" alt="" v-if="model.user_img" />
        <img src="@/assets/default_img.jpg" slot="right" alt="" v-else />
      </edit-banner>
    </div>

将van-uploader preview-size属性设置为100vw,也就是铺满整个屏幕。对整个父级设置overflow: hidden;透明度设置为0。并且将uploadfile和uploadimg设置为父级相对定位,子级决定定位的样式使之脱离标准文档流。即如下所示:

<style lang="less">
.editViews img {
  height: 12.778vw;
  width: 12.778vw;
}
.uploadfile {
  overflow: hidden;
  position: relative;
  .uploadimg {
    opacity: 0;
    position: absolute;
  }
}
</style>

在这里插入图片描述点击头像栏这一整行都可以更换头像。

Logo

前往低代码交流专区

更多推荐