当前位置:   article > 正文

从零开始学UniApp微信小程序开发:头部适配技巧让你事半功倍!_uniapp 顶部适配

uniapp 顶部适配

UniApp 中,在微信小程序开发中,头部适配可以通过修改 pages.json 中的 navigationStyle 配置项来实现,具体操作步骤如下:

1.进入 pages.json 文件

在 UniApp 项目的根目录中找到 pages.json 文件,打开该文件。

2.修改 navigationStyle 配置项

pages.json 文件中,可以为每一个页面单独设置导航栏样式,具体的配置项是 navigationStyle。该配置项可以取值为 defaultcustomnone,其中:

  • default 表示使用小程序默认导航栏(即右侧有一个返回图标的导航栏)。
  • custom 表示隐藏小程序默认导航栏,自定义头部,可以通过 CSS 样式来设置头部的样式。
  • none 表示不显示导航栏,页面将充满整个屏幕。

例如,如果需要自定义头部样式,可以在 pages.json 文件中为某个页面设置 navigationStyle: "custom" 配置项,示例代码如下:

  1. {
  2. "pages": [
  3. {
  4. "path": "pages/index/index",
  5. "style": {
  6. "navigationBarTitleText": "首页",
  7. "navigationBarBackgroundColor": "#ffffff"
  8. },
  9. "navigationStyle": "custom"
  10. }
  11. ]
  12. }

Copy

3.在 index.vue 中实现头部自定义

index.vue 文件中,可以通过添加自定义头部组件来实现头部的自定义。具体操作步骤如下:

(1). 在 index.vue 文件中,添加头部组件代码,示例代码如下:

  1. <!-- 头部组件 -->
  2. <template>
  3. <view class="custom-header">
  4. <view class="custom-header-back" @click="onBackClick">
  5. <image src="/static/images/back.png" class="custom-header-back-image" />
  6. </view>
  7. <view class="custom-header-title">{{ title }}</view>
  8. </view>
  9. </template>
  10. <script>
  11. export default {
  12. props: {
  13. title: {
  14. type: String,
  15. default: ''
  16. }
  17. },
  18. methods: {
  19. onBackClick() {
  20. uni.navigateBack()
  21. }
  22. }
  23. }
  24. </script>
  25. <style scoped>
  26. /* 头部样式 */
  27. .custom-header {
  28. display: flex;
  29. height: 44px;
  30. background-color: #ffffff;
  31. border-bottom: 1px solid #eaeaea;
  32. position: fixed;
  33. top: 0;
  34. left: 0;
  35. right: 0;
  36. z-index: 99;
  37. }
  38. .custom-header-back {
  39. width: 44px;
  40. height: 44px;
  41. display: flex;
  42. align-items: center;
  43. justify-content: center;
  44. }
  45. .custom-header-back-image {
  46. width: 18px;
  47. height: 18px;
  48. }
  49. .custom-header-title {
  50. flex: 1;
  51. text-align: center;
  52. font-size: 17px;
  53. font-weight: bold;
  54. color: #333333;
  55. }
  56. </style>

Copy

(2). 在 index.vue 文件中使用头部组件,并传入参数 title,示例代码如下:

  1. <!-- 使用头部组件 -->
  2. <template>
  3. <view>
  4. <!-- 头部组件,通过 v-bind 动态绑定 title 参数 -->
  5. <custom-header :title="title"></custom-header>
  6. <!-- 页面内容 -->
  7. <view class="content">
  8. <text>{{ message }}</text>
  9. </view>
  10. </view>
  11. </template>
  12. <script>
  13. import customHeader from '../../components/custom-header.vue'
  14. export default {
  15. components: {
  16. customHeader
  17. },
  18. data() {
  19. return {
  20. title: '首页', // 头部标题
  21. message: 'Hello, World!' // 页面内容
  22. }
  23. }
  24. }
  25. </script>
  26. <style scoped>
  27. /* 页面内容样式 */
  28. .content {
  29. padding-top: 44px; /* 头部高度 */
  30. background-color: #ffffff;
  31. height: 100%;
  32. }
  33. </style>

Copy

在 index.vue 文件中,通过添加自定义头部组件和设置 padding-top 来实现头部自定义的适配。其中,padding-top: 44px 表示设置页面内容的顶部距离为头部的高度,确保内容不会被头部遮挡。

CRMEB v5 全开源电商系统,开发者首选

基于ThinkPhp6.0+uniapp 开发的客户管理加电商营销的新零售商城系统。能够真正帮助企业基于微信公众号H5、小程序、wap、pc、APP等,实现会员管理、数据分析,精准营销的电子商务管理系统。可满足企业新零售、批发、分销、预约、O2O、多店等各种业务需求。CRMEB的优势:快速积累客户、会员数据分析、智能转化客户、有效提高销售、会员维护;

2fd6e202312081009152399.png

8470720231208100938463.png

f3dbd202312081009458425.png

09f7e202312081010047690.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/219392
推荐阅读
相关标签
  

闽ICP备14008679号