element-ui plus中如何单独出发el-upload提交

Posted 盘思动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了element-ui plus中如何单独出发el-upload提交相关的知识,希望对你有一定的参考价值。

  • 因为单独提交才好触发el-upload中的on-success函数

  • 在 Vue 3 中,可以通过 ref 引用指向 upload 组件,然后使用该引用调用 upload 的 submit 方法来触发上传操作。具体实现如下:

<template>
  <el-upload ref="uploadRef" action="https://www.mocky.io/v2/5cc8019d300000980a055e76">
    <el-button slot="trigger" size="small" type="primary">点击上传</el-button>
  </el-upload>
</template>

<script>
import  ref  from \'vue\';

export default 
  setup() 
    const uploadRef = ref(null);

    const handleSubmit = () => 
      // 在这里编写提交动作的代码
      uploadRef.value.submit();
    ;

    return 
      uploadRef,
      handleSubmit,
    ;
  ,
;
</script>

在上述例子中,我们通过 ref 创建了一个名为 uploadRef 的引用,指向了 组件。
然后,在 handleSubmit 方法中,我们通过调用 uploadRef.value.submit() 来触发上传操作。

  • 注意:由于 Vue 3 中的组件实例是在 setup 阶段创建的,因此无法在模板中直接使用 $refs 来访问组件实例。而是需要通过 ref 引用来进行访问和操作。

最简便方法element-plus/element-ui走马灯配置图片以及图片自适应

首先展示官网给的模板

<template>
  <el-carousel :interval="4000" type="card" height="200px">
    <el-carousel-item v-for="item in 6" :key="item">
      <h3 text="2xl" justify="center"> item </h3>
    </el-carousel-item>
  </el-carousel>
</template>

<style scoped>
.el-carousel__item h3 
  color: #475669;
  opacity: 0.75;
  line-height: 200px;
  margin: 0;
  text-align: center;


.el-carousel__item:nth-child(2n) 
  background-color: #99a9bf;


.el-carousel__item:nth-child(2n + 1) 
  background-color: #d3dce6;

</style>

目标一:插入图片

(后续可以用props动态接收填装图片,这里直接调用来演示)

 step1:

我们把v-for内容改为【item in imgList】,从我们自己设置的集合里取数据,其中动态绑定的:key也是从imgList集合中取。

step2:

在data中,我们设置imgLisy集合,每个元素包含id和图片地址。

这里我将图片储存在静态资源assets中,需要用到require(“@/xxxx/xxxx”)的格式来获取图片。

这个时候我们发现,只进行这两步,图片成功装进去了,但是大小并不合适。

如图:

目标2:图片自适应

 step3:

很多博客里给出的方法都太麻烦了,先要获取浏览器大小,又要进行运算设置高度什么的。

像这样子:

其实我们可以一个css属性解决:

object-fit: scale-down; 

该属性详细:

object-fit - CSS(层叠样式表) | MDN (mozilla.org) 

但此时我们发现并没有变化,是因为

没有指定图片的width和height

所以我们再加上属性例如

再次打开页面检查,成功!

图片进行了自适应,可以完整显示。

(跑马灯的背景颜色都可以通过css属性进一步设置)

以上是关于element-ui plus中如何单独出发el-upload提交的主要内容,如果未能解决你的问题,请参考以下文章

element-ui upload组件上传

element-ui中el-select与el-tree的结合使用实现下拉菜单

Element-UI中el-form 表单如何校验

Element-UI中el-form 表单如何校验

Element-UI中el-form 表单如何校验

element-ui中el-table表格的使用(如何取到当前列的所有数据)