Files
lilishop-uniapp/components/default-page/default-page.vue
Yer11214 349ffa4f34 refactor: 重构多个组件以支持 Vue 3 语法和功能
- 将多个组件转换为 `<script setup>` 语法,提升可读性和性能
- 优化状态管理和事件处理逻辑,简化代码结构
- 更新样式和布局以适应新组件结构
- 添加新功能和修复已知问题,提升用户体验
2026-07-08 18:37:11 +08:00

77 lines
1.2 KiB
Vue

<template>
<view class="default-page">
<view class="default-wrap">
<text>{{title}}</text>
<view v-if="isBtn" class="btn" @click="toHome">
去逛逛
</view>
</view>
</view>
</template>
<script setup lang="ts">
import { ref, onMounted } from 'vue'
const props = withDefaults(defineProps<{
type?: string
isBtn?: boolean
title?: string
}>(), {
type: 'search',
isBtn: false,
title: '没有相关内容'
})
const src = ref('')
onMounted(() => {
src.value = `/static/default/default_${props.type}.png`
})
const toHome = () => {
uni.switchTab({
url: '/pages/home/home'
})
}
</script>
<style lang="scss" scoped>
.default-page{
background: #FFFFFF;
width: 100%;
height: 100vh;
.default-wrap{
position: absolute;
top: calc(50vh - 320rpx);
left: calc(50% - 120rpx);
display: flex;
flex-direction: column;
align-items: center;
>image{
width: 260rpx;
height: 240rpx;
margin-bottom: 24rpx;
}
text{
font-size: 32rpx;
color: #828385;
}
.btn{
width: 160rpx;
height: 56rpx;
border: 2rpx solid #3180F6;
border-radius: 6rpx;
text-align: center;
line-height: 56rpx;
margin-top: 32rpx;
font-size: 24rpx;
color: #3180F6;
}
}
}
</style>