vue vue3 走馬燈Carousel

背景:

在項目中需要展示多張圖片,但在頁面上只有一張圖片的有限位置,此時考慮使用輪播圖實現多張圖片的展示。element組件官網有走馬燈Carousel的組件詳細介紹。

實現效果:

官網鏈接:點擊跳轉

核心代碼:

<el-carouselstyle="width: 100%; height: 100%":interval="5000":trigger="'click'":indicator-position="'none'"><el-carousel-itemv-for="(item, index) of state.ferryPortdata.photoList":key="index"><div class="aspect-container"><el-imageclass="carousel-image":src="BASEUrl + '/file/' + item.file":preview-src-list="[BASEUrl + '/file/' + item.file]":preview-teleported="true"alt=""fit="cover"/></div></el-carousel-item></el-carousel>

組件的屬性:

走馬燈組件的屬性,如下:

autoplay:是否自動切換。默認值true

interval:自動切換的時間間隔,單位為毫秒。默認值3000

trigger:指示器的觸發方式。屬性值:'hover' | 'click'?。默認值hover

indicator-position:指示器的位置。屬性值3種:'' | 'none' | 'outside'

默認情況下,它會顯示在走馬燈內部,設置為?outside?則會顯示在外部;設置為?none?則不會顯示指示器。

el-image圖片組件的屬性,如下:

src?:圖片源地址

fit:圖片如何適應容器框。屬性值:'' | 'fill' | 'contain' | 'cover' | 'none' | 'scale-down'

preview-src-list:開啟圖片預覽功能。string[]

preview-teleported:image-viewer 是否插入至 body 元素上。

嵌套的父元素屬性會發生修改時應該將此屬性設置為 true【即圖片放大到全局】

寫到這兒。。。走馬燈輪播圖的效果就實現了。。。

下面是走馬燈的圖片的點擊放大效果。

走馬燈點擊放大:

思路如下:

走馬燈的圖片點擊放大實現思路如下::

1、查看走馬燈組件是否有click點擊事件。

2、自定義一個click事件,綁定在圖片身上,當點擊圖片觸發圖片放大的效果?。

3、el-image圖片組件,圖片點擊放大的屬性且放大到全局推薦用法!!!

1、走馬燈組件是否有點擊事件:

通過訪問走馬燈組件的官網知道,走馬燈沒有相應的點擊事件

2、自定義圖片的點擊事件:

給走馬燈組件內部的每一張圖片綁定click自定義事件,自定義事件實現圖片放大效果?

實現效果:

核心代碼:

?點擊事件:

const showPreview = ref(false);
const handleClick = (data) => {showPreview.value = true;state.imgSrc = BASEUrl + "/file/" + data.file;
};

圖片預覽組件:?

//圖片預覽el-image-viewer組件
//state.imgSrc是每次點擊圖片的地址
<el-image-viewerv-if="showPreview":url-list="[state.imgSrc]"@close="showPreview = false"/>

圖片預覽官網鏈接:點擊跳轉

?

3、el-image圖片組件的點擊放大【推薦】:

實現效果:

圖片能夠實現點擊放大,并且放大到全局。放大到全局需要設置el-image的一個屬性preview-teleported=“true”,用于控制image-viewer 是否插入至 body 元素上。

官網鏈接:點擊跳轉

?

未設置效果:?

?

設置代碼及效果:

//el-image圖片預覽效果,image-viewer相對于標簽body
//:preview-teleported="true"<el-imagev-if="state.sixNoData.photo"class="img-style":src="BASEUrl + '/file/' + state.sixNoData.photo"alt=""fit="cover":preview-src-list="[BASEUrl + '/file/' + state.sixNoData.photo]":preview-teleported="true"/>

備注:

問:走馬燈組件和圖片預覽組件的代碼應該怎么組合使用?

走馬燈組件和圖片預覽組件放置在同級,如下:

不能這樣放:

?問題:圖片為什么顯示加載失敗?

? 答:圖片涉及到了跨域處理,前端做了對一個圖片地址src的訪問代理。

接口返回的數據如下:

other/fe9824e5-e1bf-4af8-9e19-9ce508e19fd4.jpg

前端能夠展示的src形式是:

/file/other/d19b3d89-5ac5-46e5-a004-8cd51434168e.jpg是文件存放路徑

BASEUrl + '/file/' + item.file

即:

?/apiproxy/pa/file/other/d19b3d89-5ac5-46e5-a004-8cd51434168e.jpg

?/apiproxy/pa是前端代理

問題:state.ferryPortdata.photoList響應式變量的數據結構是什么樣的?

答:是接口返回的數據,其中涉及到的數據,示例如下:

//涉及到的數據
[{"pid": 142,"category": null,"type": 6,"file": "other/fe9824e5-e1bf-4af8-9e19-9ce508e19fd4.jpg","associationId": 119,"dateOfIssue": "2025-03-13 14:06:45","deadline": null,"isValid": null},{"pid": 143,"category": null,"type": 6,"file": "other/e1ce36cc-7085-490c-bb9d-b4589590c751.jpg","associationId": 119,"dateOfIssue": "2025-03-13 14:06:45","deadline": null,"isValid": null},{"pid": 144,"category": null,"type": 6,"file": "other/c2fc72b8-ec93-4f4d-bdaf-866fe8e3ad31.jpg","associationId": 119,"dateOfIssue": "2025-03-13 14:06:45","deadline": null,"isValid": null},{"pid": 145,"category": null,"type": 6,"file": "other/a091bb95-66c3-4870-84ce-a9d34a0f81a1.jpg","associationId": 119,"dateOfIssue": "2025-03-13 14:06:45","deadline": null,"isValid": null},{"pid": 146,"category": null,"type": 6,"file": "other/d19b3d89-5ac5-46e5-a004-8cd51434168e.jpg","associationId": 119,"dateOfIssue": "2025-03-13 14:06:45","deadline": null,"isValid": null}
]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74716.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74716.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74716.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

重學vue3(三):vue3基本語法及使用

組合式 API是vue3 的核心特性&#xff0c;替代 Vue2 的選項式 API&#xff0c;強調邏輯復用和代碼組織。基本語法如下&#xff1a; <script setup> import { ref, reactive, computed, onMounted } from vue;// 1. 響應式數據 const count ref(0); // 基本類…

Spring Boot分布式項目異常處理實戰:從崩潰邊緣到優雅恢復

當單體應用拆分成分布式系統&#xff0c;異常就像被打開的潘多拉魔盒&#xff1a;RPC調用超時、分布式事務雪崩、第三方接口突然罷工…在最近的電商大促中&#xff0c;我們的系統就經歷了這樣的至暗時刻。本文將用真實代碼示例&#xff0c;展示如何構建分布式異常處理體系。 一…

導出sql命令

除了之前提到的 \G 命令&#xff0c;以下是其他優化 MySQL 查詢結果顯示的方法&#xff0c;供你參考&#xff1a; --- ### 1. **使用 \T 命令導出結果到文件** - 在 MySQL 命令行中&#xff0c;使用 \T 文件名 可以將查詢結果以表格形式導出到指定文件&#xff0c;便于后續…

TDengine 3.3.2.0 集群報錯 Post “http://buildkitsandbox:6041/rest/sql“

原因&#xff1a; 初始化時處于內網環境下&#xff0c;Post “http://buildkitsandbox:6041/rest/sql“ 無法訪問 修復&#xff1a; vi /etc/hosts將buildkitsandbox映射為本機節點 外網環境下初始化時沒有該問題

深度解析 BPaaS:架構、原則與研發模式探索

在當今復雜多變的業務環境下&#xff0c;軟件開發面臨著諸多挑戰&#xff0c;如何有效地管理業務復雜性并實現系統的可擴展性成為關鍵。BPaaS應運而生&#xff0c;它作為一種創新的理念和架構模式&#xff0c;改變著企業研發的方式。本文將深入探討 BPaaS 是什么&#xff0c;以…

如何在linux中部署dns服務 主備dns (詳細全過程)

環境centos 7.9 主DNS&#xff1a;192.168.60.131 備DNS&#xff1a;192.168.60.134 我以 chenxingyu0.com 指向 192.168.60.200為例 首先是主dns #!/bin/bash# 檢查是否為 root 用戶 if [ "$(id -u)" ! "0" ]; thenecho "請使用…

操作系統導論——第13章 抽象:地址空間

一、早期系統 從內存來看&#xff0c;早期的機器并沒有提供多少抽象給用戶。基本上&#xff0c;機器的物理內存如圖13.1所示 操作系統曾經是一組函數&#xff08;實際上是一個庫&#xff09;&#xff0c;在內存中&#xff08;在本例中&#xff0c;從物理地址0開始&#xff09;&…

云端存儲新紀元:SAN架構驅動的智能網盤解決方案

一、企業存儲的"不可能三角"破局 1.1 傳統存儲架構的困局 性能瓶頸&#xff1a;NAS架構在1000并發訪問時延遲飆升300%容量限制&#xff1a;傳統RAID擴容需停機維護&#xff0c;PB級存儲擴展耗時超48小時成本矛盾&#xff1a;全閃存陣列每TB成本高達$3000&#xff0…

Android adb自身調試log開關

本文介紹下如何打開adb源碼中的debug log 1.adb源碼log是可以動態打開和關閉的&#xff0c;控制邏輯代碼如下 static NoDestructor<std::mutex> log_mutex; static NoDestructor<CachedProperty> log_property GUARDED_BY(log_mutex)("debug.adbd.logging&q…

Axure RP 9.0教程: 基于動態面板的元件跟隨來實現【音量滑塊】

文章目錄 引言I 音量滑塊的實現步驟添加底層邊框添加覆蓋層基于覆蓋層創建動態面板添加滑塊按鈕設置滑塊拖動效果引言 音量滑塊在播放器類APP應用場景相對較廣,例如調節視頻的亮度、聲音等等。 I 音量滑塊的實現步驟 添加底層邊框 在畫布中添加一個矩形框:500 x 32,圓…

rocky linux 與centos系統的區別

Rocky Linux 和 CentOS 都是基于 Red Hat Enterprise Linux&#xff08;RHEL&#xff09;的社區發行版&#xff0c;但兩者在目標定位、更新策略和社區管理上有顯著差異。以下是核心區別的詳細對比&#xff1a; 一、背景與定位 特性Rocky LinuxCentOS起源由 CentOS 聯合創始人…

洛谷題單1-B2002 Hello,World!-python-流程圖重構

題目描述 編寫一個能夠輸出 Hello,World! 的程序。 提示&#xff1a; 使用英文標點符號&#xff1b;Hello,World! 逗號后面沒有空格。H 和 W 為大寫字母。 輸入格式 無 輸出格式 無 輸入輸出樣例 #1 輸入 #1 無輸出 #1 Hello,World!方式-print() 代碼 class Solut…

網絡基礎-路由器和交換機工作配置

三、路由器和交換機的工作原理配置以及華為體系下的小型網絡的搭建 3.1路由基礎 3.1.1數據轉發 通過鏈路層交換機和網絡層路由器進行數據轉發 交換機&#xff08;鏈路層&#xff09;mac地址表的數據轉發路由器&#xff08;網絡層&#xff09; ip路由表的數據轉發 隔離廣播域…

愛普生SG-3031CMA有源晶振在汽車雷達中的應用

隨著自動駕駛技術的普及&#xff0c;汽車雷達已成為高級駕駛輔助系統&#xff08;ADAS&#xff09;和自動駕駛系統的核心感知組件。雷達模塊需要精確的時鐘信號來確保發射/接收時序的準確性、信號處理的同步性以及低功耗運行。這些系統對時鐘信號的穩定性、抗干擾性及環境適應性…

案例實踐 | 招商局集團以長安鏈構建“基于DID的航運貿易數據資產目錄鏈”

概覽 案例名稱 基于DID的航運貿易數據資產目錄鏈 業主單位 招商局集團 上線時間 2024年10月 用戶群體 供數用數企業和個人 用戶規模 集團內20企業 案例背景 招商局集團深入落實“促進數據高效流通使用、賦能實體經濟”精神&#xff0c;深化集團數字化水平&#xff0c…

【docker】docker-compose安裝RabbitMQ

docker-compose安裝RabbitMQ 1、配置docker-compose.yml文件&#xff08;docker容器里面的目錄請勿修改&#xff09;2、啟動mq3、訪問mq4、查看服務器映射目錄5、踩坑5.1、權限不足 1、配置docker-compose.yml文件&#xff08;docker容器里面的目錄請勿修改&#xff09; versi…

Maven工具學習使用(二)——Maven基礎用法

pom常見屬性說明 詳細見官方文檔說明 https://maven.apache.org/ref/3.8.6/maven-model/maven.html#class_releases <modelVersion>4.0.0</modelVersion> POM模型的版本 <groupId>org.apache.maven.plugins</groupId> 項目屬于哪個組&#xff…

藍橋杯高頻考點——二分(含C++源碼)

二分 基本框架整數查找&#xff08;序列二分的模版題 建議先做&#xff09;滿分代碼及思路solution 子串簡寫滿分代碼及思路solution 1&#xff08;暴力 模擬雙指針70分&#xff09;solution 2&#xff08;二分 AC&#xff09; 管道滿分代碼及思路樣例解釋與思路分析solution 最…

【谷粒商城踩坑記】第五坑 拖拽組件三級菜單拖不了問題

第五坑 拖拽組件三級菜單拖不了問題 直接進入或刷新頁面后,拖動第三級菜單項,無法修改排序位置&#xff0c;我嘗試了直接用源碼包中提供的老師的代碼也不行&#xff0c;本身就有這個小 Bug &#xff0c;或者說是其它什么地方有問題。 原始內容是這樣的。 countNodeLevel(node){…

《深度剖析Android 12 SystemUI鎖屏通知布局亮屏流程:從源碼到實現》

優化后文章結構&#xff1a; 1. 前言 強調鎖屏通知布局的重要性及分析目的&#xff0c;引出后續源碼分析的必要性。 2. 核心類解析 KeyguardViewMediator&#xff1a;鎖屏核心邏輯控制&#xff0c;處理亮屏/息屏事件分發。 PhoneWindowManager&#xff1a;系統輸入事件&…