elementUI 的上传组件<el-upload>,自定义上传按钮样式

这篇具有很好参考价值的文章主要介绍了elementUI 的上传组件<el-upload>,自定义上传按钮样式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

方法一:

原理:调用<el-upload>组件的方法唤起选择文件事件

效果:

elementUI 的上传组件<el-upload>,自定义上传按钮样式,前端,elementui,前端,javascript

页面代码:

1、选择图片按钮
<div class="flex_row_spacebetween btn" @click="chooseImg">
    <span class="el-icon-plus ic-plus-sign"></span> 
    <span style="font-size: 13px;">更换票种图片</span>
</div>
2、展示选择的图片
<div>
    <el-upload
        ref="piaoTypeDialogUpload"
        class="piao-type-dialog-upload"
        action="#"
        :limit="2" 
        :file-list="dialogform.img_files" 
        list-type="picture-card"
        :auto-upload="false" 
        :before-upload="beforeAvatarUpload"
        :on-change="piaoTypePicChange"
        accept=".png,.jpg">
        <i slot="default" class="el-icon-plus" ></i>
        <div slot="file" slot-scope="{file}">
        <img class="el-upload-list__item-thumbnail" :src="file.url" alt="">
        <span class="el-upload-list__item-actions">
            <span class="el-upload-list__item-preview" @click="picShow(file)">
                <i class="el-icon-zoom-in"></i>
            </span>
            <span class="el-upload-list__item-delete" @click="picDel('dialogform',file)">
                <i class="el-icon-delete"></i>
            </span>
        </span>
        </div>
    </el-upload>
</div>

js代码:(其他逻辑与element文档的上使用一致)

chooseImg(){
    this.$refs['piaoTypeDialogUpload'].$refs['upload-inner'].handleClick()
},

css代码:

隐藏原来的选择图片按钮

.piao-type-dialog-upload .el-upload-list--picture-card .el-upload-list__item {
  width: 90px;
  height: 90px;
}

.piao-type-dialog-upload .el-upload--picture-card {
  display: none;
}

方法二:

原理:把图片显示分离出来,<el-upload>做选择图片使用,单独做一个显示图片的区域

效果:

elementUI 的上传组件<el-upload>,自定义上传按钮样式,前端,elementui,前端,javascript

 页面代码:

1、选择文件按钮
<div>
    <el-upload
        action="#"
        accept="image/*"
        :on-change="(file)=>picChange(file,item)"
        :show-file-list="false"
        :multiple="item.multiple"
        :before-upload="beforeAvatarUpload"
        :auto-upload="false">
        <div>
            <i class="el-icon-plus" style="color: #FF4C15;"></i>
            <span style="color: #FF4C15;">上传</span>
        </div>
    </el-upload>
</div>
2、显示图片区域
<div class="imglist" v-if="item.file_list.length != 0">
    <div class="img-item" v-for="(img,index) in item.file_list" :key="item.pic_id">
        <img :src="img.url" class="hover" alt="" style="width: 100%;height:100%">
        3、预览图片,删除图片按钮
        <span class="el-upload-list--picture-card">
         <span class="el-upload-list__item-actions">
                <span class="el-upload-list__item-preview" @click="picShow(img)">
                    <i class="el-icon-zoom-in"></i>
                </span>
          <span class="el-upload-list__item-delete" @click="zizhiPicDel(typeIndex+1,img)">
               <i class="el-icon-delete"></i>
          </span>
         </span>
        </span>
    </div>
</div>

js 代码:

picChange(file,item){
    item.file_list.push({
        pic_id: xxxx,
        url: xxxx, // 图片地址,就如何从file里获取图片地址(可能你选择图片就上传到服务器了,这时候放的就是服务器返回的地址)
    });
}

css代码:

.imglist{
  display: flex;
  flex-wrap: wrap;
}
.imglist .img-item{
  width:120px;
  height:120px;
  margin-right: 15px;
  margin-top: 15px; 
}

总结

两个方法的代码量都差不多,看自己的逻辑偏向哪个转得快一点。方法二还需要自己写上删除图片的东西。方法一,图片放大删除都用elementui文档说明里就可以了文章来源地址https://www.toymoban.com/news/detail-648718.html

到了这里,关于elementUI 的上传组件<el-upload>,自定义上传按钮样式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elementui el-upload 上传文件

    在使用element中的el-upload上传文件或者图片时,需要先把el-upload的自动上传改为手动上传:auto-upload=“false”然后el-upload内部会调用this.$refs.upload.submit();方法,从而实现多个文件上传。 提示:以下是本篇文章正文内容,下面案例可供参考 代码如下(示例): 需要注意的是 acce

    2024年02月06日
    浏览(53)
  • 【学习记录21】Vue+ElementUI el-upload多文件上传,一次请求上传多个文件!

    前情回顾说点废话。。。 1、项目当中遇到需要上传多个图片,一次选取多个图片。但是吧el-upload默认只能一个一个传,每次上传成功还的自己去push,一个一个去判断。 2、关键是后台给的接口,要一次性接收一堆,无奈之下只能去网上搜索,大佬们都是给的代码片段无法直

    2024年02月12日
    浏览(61)
  • el-upload 文件上传组件的使用

    element-ui官网 element ui=upload上传组件 Upload 上传文件这个功能是我们在企业实际开发当中使用频率是非常高的这样一个文件上传的功能,,element ui组件组也给我们提供了上传的组件。所有我们一定要熟悉掌握它 使用之前先进行一下element ui的安装和配置 打开终端=输入npm i elem

    2024年02月11日
    浏览(75)
  • el-upload自定义上传文件显示进度条

    el-upload自定义上传文件时需要显示进度条,但使用 http-request 会覆盖默认的上传行为, on-progress 也就不生效了,所以可以 自定义上传的实现 。 按钮 数据 事件 导入接口 接口方法 uploadEvent ——在封装的axios请求方法的headers里面加入即可(关键)

    2024年02月15日
    浏览(44)
  • 使用el-upload组件实现递归多文件上传

    一、需求描述:在页面上点击按钮弹出选择电脑文件的界面,可以一次性选择多个文件一起上传到服务器上,并把上传成功的文件展示在页面上。 · 二、 问题阐述:el-upload是支持多文件上传的,但是是同步进行的,你点击上传按钮,选择了多个文件后点击确定,会同时调用

    2023年04月08日
    浏览(40)
  • element-ui的el-upload上传文件按钮在选取文件按钮禁用后仍可点击问题

    element-ui的el-upload上传文件按钮在选取文件按钮禁用后仍可点击,如下图: 点击按钮已经置灰,但是仍能点开选择图片弹窗,虽然无法上传,但是体验不好。 听说是因为:disabled只是禁用了点击事件,并没有禁用打开文件选择窗口 方法一: 附代码: 方法二: 换成一个假的

    2024年02月11日
    浏览(58)
  • el-upload自定义上传http-request

    使用http-request自定义上传,触发on-success,on-error钩子。 template js 也可以返回Promise,on-success,on-error钩子就会被执行。

    2024年02月07日
    浏览(39)
  • vue Element ui上传组件el-upload封装

    注释: 1. limit 可上传图片数量 2. lableName 当前组件name,用于一个页面多次使用上传组件,对数据进行区分 3. upload 上传图片发生变化触发,返回已上传图片的信息 4. imgUrl 默认图片

    2024年02月11日
    浏览(63)
  • el-upload实现自定义上传http-request

    在使用element的上传组件的时候,我这里用的是上传图片,如图1所示   正常上传是没有问题的,但如果我上传了第一张之后,然后去上传第二张,依次这样去替换自己想要得,虽然最后一张会把上传上传得给覆盖,但是还是会存在一些问题 1.替换多少次,上传接口就要请求多少次,显得比

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包