liveh5-nuxt/app/components/x-message/index.vue
xingyy c734e4ffd5 refactor(app): 优化首页拍品详情样式
- 调整拍品详情背景颜色
- 优化轮播图样式
- 增加拍品信息、起拍价和竞价表等内容- 优化样式和布局
2025-01-10 15:50:57 +08:00

47 lines
923 B
Vue

<script setup>
import MessageContent from './message/index.vue'
import { ref } from 'vue'
const visible = ref(false)
const messageText = ref('')
const messageType = ref('')
const emit = defineEmits(['after-leave'])
const showMessage = ({ type = 'warning', message, duration = 2000 }) => {
messageText.value = message
messageType.value = type
visible.value = true
setTimeout(() => {
visible.value = false
}, duration)
}
defineExpose({ showMessage })
</script>
<template>
<transition
name="fade"
@after-leave="$emit('after-leave')"
>
<MessageContent
v-if="visible"
:text="messageText"
:type="messageType"
class="fixed top-20px left-1/2 -translate-x-1/2 z-9999"
/>
</transition>
</template>
<style lang="scss" scoped>
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.2s ease;
}
.fade-enter-from,
.fade-leave-to {
opacity: 0;
}
</style>