vue3?element-plus實現(xiàn)圖片預(yù)覽功能實例
效果
實現(xiàn)
element-plus下有這么一個組件 <el-image-viewer/>,但是這個組件是沒寫在文檔上面的,像普通組件一樣使用即可
可以通過點擊按鈕實現(xiàn)圖片預(yù)覽,而非el-image組件只能通過點擊圖片實現(xiàn)預(yù)覽
封裝組件
<template> <div class="img-viewer-box"> <el-image-viewer v-if="state.visible" :url-list="props.imgs" @close="close" /> </div> </template> <script lang="ts" setup> import { ref, reactive } from 'vue' import { useVModel } from '@vueuse/core' const props = defineProps<{ modelValue: boolean imgs: string[] }>() const emits = defineEmits<{ (e: 'update:modelValue', data: boolean) }>() const state = reactive({ imgList: [], // 相當于是set 與 get visible: useVModel(props, 'modelValue', emits), }) // 點擊關(guān)閉的時候,連同小圖一起關(guān)閉 function close() { state.visible = false } </script> <style scoped></style>
組件使用
在需要使用的地方引入,然后使用即可,這不是重點,每個人使用的方式都不一樣,根據(jù)自己需求來即可
重點是上面的組件封裝,看明白就會用了
<!-- 增加用于顯示預(yù)覽圖片 --> <ImgPreview v-model="state.visible.modal" :imgs="[state.imageUrl]" />
總結(jié)
到此這篇關(guān)于vue3 element-plus實現(xiàn)圖片預(yù)覽功能的文章就介紹到這了,更多相關(guān)vue3 element-plus圖片預(yù)覽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue獲取HTMLCollection列表的children時結(jié)果為undefined問題
這篇文章主要介紹了Vue獲取HTMLCollection列表的children時結(jié)果為undefined問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03Vue導(dǎo)出json數(shù)據(jù)到Excel電子表格的示例
本篇主要介紹了Vue導(dǎo)出json數(shù)據(jù)到Excel電子表格的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12Vue實現(xiàn)contenteditable元素雙向綁定的方法詳解
contenteditable是所有HTML元素都有的枚舉屬性,表示元素是否可以被用戶編輯。本文將詳細介紹如何實現(xiàn)contenteditable元素的雙向綁定,需要的可以參考一下2022-05-05通過vue.extend實現(xiàn)消息提示彈框的方法記錄
這篇文章主要給大家介紹了關(guān)于通過vue.extend實現(xiàn)消息提示彈框的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01