1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/likeadmin-likeadmin_java

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
preview.vue 1.6 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
Jason Отправлено 3 лет назад 3f092d3
<template>
<div v-show="modelValue">
<div v-if="type == 'image'">
<el-image-viewer
v-if="previewLists.length"
:url-list="previewLists"
hide-on-click-modal
@close="handleClose"
/>
</div>
<div v-if="type == 'video'">
<el-dialog v-model="visible" width="740px" title="视频预览" :before-close="handleClose">
<video-player ref="playerRef" :src="url" width="100%" height="450px" />
</el-dialog>
</div>
</div>
</template>
<script lang="ts" setup>
const props = defineProps({
modelValue: {
type: Boolean,
default: false
},
url: {
type: String,
default: ''
},
type: {
type: String,
default: 'image'
}
})
const emit = defineEmits<{
(event: 'update:modelValue', value: boolean): void
}>()
const playerRef = shallowRef()
const visible = computed({
get() {
return props.modelValue
},
set(value) {
emit('update:modelValue', value)
}
})
const handleClose = () => {
emit('update:modelValue', false)
}
const previewLists = ref<any[]>([])
watch(
() => props.modelValue,
(value) => {
if (value) {
nextTick(() => {
previewLists.value = [props.url]
playerRef.value?.play()
})
} else {
nextTick(() => {
previewLists.value = []
playerRef.value?.pause()
})
}
}
)
</script>

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/likeadmin-likeadmin_java.git
git@gitlife.ru:oschina-mirror/likeadmin-likeadmin_java.git
oschina-mirror
likeadmin-likeadmin_java
likeadmin-likeadmin_java
1.4.1