当前位置: 首页 > article >正文

element ui中el-image组件查看图片的坑

比如说上传组件使用el-image-viewer组件去看,如果用错了,你会发现,你每次只能看一张图片

<template>
    <div>
        <el-upload action="#" list-type="picture-card" :auto-upload="false" :file-list="fileList"
            @change="handleChange">
            上传
            <template #file="{ file }">
                <div>
                    <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="handlePictureCardPreview(file)">
                            瞎看
                        </span>
                        <span class="el-upload-list__item-delete" @click="handleDownload(file)">

                            下载
                        </span>
                        <span class="el-upload-list__item-delete" @click="handleRemove(file)">

                            删除
                        </span>
                    </span>
                </div>
            </template>
        </el-upload>

        <el-image-viewer v-if="previewVisibleRef" :url-list="srcList" :initial-index="previewIndexRef"
            @close="previewVisibleRef = false" />

    </div>
</template>

<script setup>
import { ref } from 'vue';

const srcList = ref([]);
const fileList = ref([]);
const previewVisibleRef = ref(false);
const previewIndexRef = ref(0);
const carouselArr = ref([
    'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg',
    'https://fuss10.elemecdn.com/1/34/19aa98b1fcb2781c4fba33d850549jpeg.jpeg',
    'https://fuss10.elemecdn.com/0/6f/e35ff375812e6b0020b6b4e8f9583jpeg.jpeg',
    'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
    'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
    'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
    'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
])
const handleChange = (file, fileList) => {
    // 当上传文件改变时,更新文件列表和 srcList
    fileList.value = fileList;
    srcList.value.push(file.url);
};

const handlePictureCardPreview = (file) => {
    // 设置预览图片的索引
    previewIndexRef.value = srcList.value.indexOf(file.url);
    // 显示图片预览
    previewVisibleRef.value = true;
};

</script>

再比如轮播图点一张看所有图片

<template>
    <div>
        <el-carousel height="150px">
            <el-carousel-item v-for="item in carouselArr" :key="item" @click="show(item)">
                <img :src="item" alt="">
            </el-carousel-item>
        </el-carousel>


        <el-image-viewer v-if="previewVisibleRef" :url-list="srcList" :initial-index="previewIndexRef"
            @close="previewVisibleRef = false" />

    </div>
</template>

<script setup>
import { ref } from 'vue';

const srcList = ref([]);
const previewVisibleRef = ref(false);
const previewIndexRef = ref(0);
const carouselArr = ref([
    'https://fuss10.elemecdn.com/a/3f/3302e58f9a181d2509f3dc0fa68b0jpeg.jpeg',
    'https://fuss10.elemecdn.com/1/34/19aa98b1fcb2781c4fba33d850549jpeg.jpeg',
    'https://fuss10.elemecdn.com/0/6f/e35ff375812e6b0020b6b4e8f9583jpeg.jpeg',
    'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
    'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
    'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
    'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
])

function show(item) {
    srcList.value = carouselArr.value
    previewVisibleRef.value = true;

}
</script>

<style>
/* 样式保持不变 */
</style>

而el-image组件是单一需求,更使用单一需求和图片,总之el-image-viewer是用来看相册一类的,比较方便,官网上面的api要特别注意一下,是有区分的

el-image:如下

el-image-viewer如下:

注意使用方式


http://www.kler.cn/a/371941.html

相关文章:

  • Java项目实战II基于Spring Boot的美食烹饪互动平台的设计与实现(开发文档+数据库+源码)
  • ffmpeg视频滤镜:定向模糊-dblur
  • 学STM32选标准库还是HAL库?
  • MySQL中,如何定位慢查询?定位到的慢SQL如何分析?
  • 创作三周年:在忙碌中寻找灵感与快乐
  • 计算机毕业设计——ssm基于JAVA的OA办公系统的设计与实现演示录像2021
  • QT相机连接与拍照
  • 深度学习(七)深度强化学习:融合创新的智能之路(7/10)
  • Python 爬虫项目实战:爬取某云热歌榜歌曲
  • 使用Python来下一场雪
  • STM32F103C8T6 IO 操作
  • DevOps赋能:优化业务价值流的实战策略与路径(下)
  • ViSual studio如何安装 并使用GeographicLib
  • 大模型提示词简介 举例
  • zjy-sqlite-manage使用文档v1
  • 每日读则推(十四)——Meta Movie Gen: the most advanced media foundation models to-date
  • 等保行业如何选择核实的安全防御技术
  • Python 机器学习中的模型解释性与可解释性
  • 有防蓝光的护眼灯有哪些品牌?介绍五款值得入手的品牌和型号
  • 深度学习-交叉熵损失函数
  • Django ORM 数据库管理 提高查询、更新性能的技巧和编程习惯:
  • ECharts 折线图 / 柱状图 ,通用配置标注示例
  • OpenCV基本操作(python开发)——(8)实现芯片瑕疵检测
  • 【GPT模型的大小】GPT3模型到底多大,如果训练需要什么条件?
  • 盘古信息IMS系统助力制造企业释放新质生产力
  • 上市公司数字经济与实体经济融合发展程度测算数据(2008-2022年)-最新出炉_附下载链接