封面标签选择图片

42 篇文章 0 订阅
14 篇文章 0 订阅

基本代码

<el-form-item label="文章封面">
            <!-- 用来显示封面的图片 -->
            <img
              src="../../../assets/images/cover.jpg"
              alt=""
              class="cover-img"
              ref="imgRef"
            />
//不要在 img标签中使用 v-if 会报错
            <br />
            <!-- 文件选择框,默认被隐藏 -->
            <input
              type="file"
              style="display: none"
              accept="image/*"
              ref="iptFileRef"
              @change="onCoverChangeFn"
            />
            <!-- 选择封面的按钮 -->
            <el-button type="text" plain @click="addCoverImgFn"
              >+ 选择封面</el-button
            >
          </el-form-item>

导入图片

import defaultImg from '@/assets/images/cover.jpg'

具体逻辑

 addCoverImgFn() {
      // 模拟点击事件
      this.$refs.iptFileRef.click()
    },
// 封面选择改变事件
    onCoverChangeFn(e) {
      const files = e.target.files
      console.log('封面选择改变事件', e)
      if (files.length === 0) {
        //  用户没有选择图片
        this.pubForm.cover_img = null
        this.$message.error('请选择你要上传的图片')
        this.oldFox('请选择你要上传的图片')
        this.$refs.imgRef.setAttribute('src', defaultImg)
      } else {
        this.pubForm.cover_img = files[0]
        this.$message.success('添加封面成功')
        this.oldFox('添加封面成功')
        const url = URL.createObjectURL(files[0])
        this.url = url
        this.$refs.imgRef.setAttribute('src', url)
      }
      console.log('文件', files)
    }

  1. 封面标签选择图片的思路是?

答案

  • 先准备隐藏的input[type=file], 然后点击按钮, 用js的方式调用input标签的点击事件, 让文件选择窗口出现, 再给input标签绑定change事件通过事件对象拿到用户选择的图片文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值