style: 优化页面切换体验,稳定底部菜单 Key 减少重绘,新增页面淡入渐变动画与商品搜索页骨架屏

master
Council 2026-06-27 21:29:24 +08:00
parent 9a8a3e59bc
commit bb2502997c
7 changed files with 43 additions and 6 deletions

View File

@ -134,8 +134,9 @@
is_tabbar: is_use_native_tabbar ? false : app.globalData.is_tabbar_pages()
};
if(upd_data['is_tabbar']) {
upd_data['key'] = Math.random();
upd_data['app_tabbar'] = app.globalData.get_config('app_tabbar') || null;
var app_tabbar = app.globalData.get_config('app_tabbar') || null;
upd_data['app_tabbar'] = app_tabbar;
upd_data['key'] = (app_tabbar != null && (app_tabbar.id || null) != null) ? app_tabbar.id : 'diy-footer';
}
//#ifndef APP-NVUE
this.setData(upd_data);

View File

@ -77,6 +77,13 @@
propFooterActiveIndex(value, old_value) {
this.init();
},
//
propValue: {
handler(value, old_value) {
this.init();
},
deep: true,
},
},
//
created: function () {

View File

@ -49,6 +49,10 @@
<x-skeleton propType="info"></x-skeleton>
<x-skeleton propType="waterfall" propRowNumber="4"></x-skeleton>
</block>
<!-- 商品搜索 -->
<block v-else-if="propPage == 'goods-search'">
<x-skeleton propType="waterfall" propRowNumber="6"></x-skeleton>
</block>
</block>
<block v-else>
<view v-if="loading_content_type == 1" class="loading-title-animation">

View File

@ -153,4 +153,16 @@
font-size: 28rpx;
line-height: 40rpx;
min-height: 80rpx;
}
}
.page-fade-in {
animation: pageFadeIn 0.25s ease-out forwards;
}
@keyframes pageFadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

View File

@ -1,5 +1,5 @@
<template>
<view :class="theme_view">
<view :class="theme_view + ' page-fade-in'">
<view class="bg-white">
<!-- 搜索关键字 -->
<view class="padding-horizontal-main padding-top-main padding-bottom-sm pr">
@ -44,7 +44,7 @@
</view>
<view v-else>
<!-- 提示信息 -->
<component-no-data :propStatus="data_list_loding_status" :propMsg="data_list_loding_msg"></component-no-data>
<component-no-data :propStatus="data_list_loding_status" :propMsg="data_list_loding_msg" :propLoadingUseSkeleton="true" propPage="goods-search"></component-no-data>
</view>
<!-- 结尾 -->

View File

@ -742,3 +742,16 @@
background: #333333;
}
.page-fade-in {
animation: pageFadeIn 0.25s ease-out forwards;
}
@keyframes pageFadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

View File

@ -1,5 +1,5 @@
<template>
<view :class="theme_view" class="ticket-wallet-page">
<view :class="theme_view" class="ticket-wallet-page page-fade-in">
<!-- 顶部返回 + 标题导航 -->
<!-- <view class="top-nav-bar">
<view class="nav-back" @click="goBack">