【愚公系列】《微信小程序与云开发从入门到实践》012-页面容器组件

举报
愚公搬代码 发表于 2024/11/30 23:59:29 2024/11/30
【摘要】 标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。博客内容.NET、...
标题 详情
作者简介 愚公搬代码
头衔 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
近期荣誉 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
博客内容 .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
欢迎 👍点赞、✍评论、⭐收藏

🚀前言

在微信小程序的开发中,页面容器组件扮演着至关重要的角色。作为构建小程序界面的基本单位,页面容器组件不仅负责页面的布局和结构,还帮助开发者有效管理内容的展示和交互。合理使用页面容器组件,可以让你的应用界面更加清晰、整洁,提升用户体验。

本篇文章将深入探讨微信小程序中的页面容器组件,详细介绍其类型、常用属性及实际应用场景。我们将通过具体实例,帮助你理解如何灵活运用页面容器组件,设计出符合用户需求的高质量小程序界面。

无论你是刚入门的小程序开发者,还是希望提升开发技能的资深工程师,这篇文章都将为你提供实用的指导和灵感。让我们一起探索页面容器组件的魅力,打造出更加优秀的小程序应用吧!

🚀一、页面容器组件

回忆一下我们经常使用的一些移动端应用,弹窗弹层类的页面并不少见。小程序中的页面容器组件 page-container 就是专为这种场景设计的。对于页面中的弹窗,如果采用普通 view 容器的方式实现,虽然看上去没有问题,但是当用户点击返回按钮时,会使当前整个页面返回而不是关闭弹窗,这是不符合体验要求的,但使用page-container可以很好地处理返回逻辑。

🔎1.page-container 页面容器示例

🦋1.1 步骤 1: 创建页面文件

首先,在 pages 文件夹下新建一个名为 pageContainerDemo 的页面文件。

🦋1.2 步骤 2: 编写 pageContainerDemo.wxml 文件

pageContainerDemo.wxml 文件中,编写如下代码:

<!-- pages/pageContainerDemo/pageContainerDemo.wxml -->
<view class="container">
  <button bindtap="show">展示容器</button>
</view>
<page-container show="{{pageContainerShow}}">
  <view>容器内部的内容</view>
  <button bindtap="show">隐藏容器</button>
</page-container>

在上面的代码中,页面中创建了一个按钮来展示页面容器,同时在页面容器内添加了一个按钮来隐藏已经弹出的页面容器。

🦋1.3 步骤 3: 编写 pageContainerDemo.js 文件

pageContainerDemo.js 文件中,编写如下代码:

// pages/pageContainerDemo/pageContainerDemo.js
Page({
  data: {
    pageContainerShow: false,  // 默认容器不展示
  },
  show: function() {
    // 切换容器显示状态
    this.setData({
      pageContainerShow: !this.data.pageContainerShow
    });
  }
});

pageContainerDemo.js 中,定义了一个 show 方法来切换 pageContainerShow 状态。页面容器的显示与否通过 show 属性来控制。当点击按钮时,容器的显示状态会改变。

🦋1.4 说明

页面容器的展示与否是通过其 show 属性控制的。在页面容器展示出来后,效果如图所示。需要注意的是,一个页面中最多只能存在一个页面容器视图。
在这里插入图片描述

除了可以通过代码手动改变页面容器组件的 show 属性来实现关闭容器外,还可以通过以下方式关闭页面容器:

  • 在 iOS 设备上使用右划手势。
  • 在 Android 设备上点击返回按键。
  • 调用小程序框架中的 wx.navigateBack 接口。

这样就完成了一个简单的页面容器切换效果的实现。

🔎2.page-container 属性解析

page-container 组件提供了许多包括组件位置、样式、动画等相关的可配置的属性,如表所示。

属性名 类型 意义
show 布尔值 是否显示容器组件
duration 数值 设置容器组件显示/隐藏的动画时长,默认为 300(单位为毫秒)
z-index 数值 设置此弹窗的 Z 轴层级
overlay 布尔值 设置是否显示遮罩层
position 字符串 设置弹窗的位置,默认为 bottom,可设置为:
- top: 从上弹出
- bottom: 从下弹出
- right: 从右弹出
- center: 从中间弹出
round 布尔值 设置是否需要展示圆角
close-on-slideDown 布尔值 设置隐藏的时候是否滑动一段距离后再关闭
overlay-style 字符串 自定义遮罩层的样式
custom-style 字符串 自定义弹窗样式
bind:beforeenter 函数 弹窗将要进入页面时触发的回调事件
bind:enter 函数 弹窗进入页面时触发的回调事件
bind:afterenter 函数 弹窗进入页面后触发的回调事件
bind:beforeleave 函数 弹窗将打开页面时触发的回调事件
bind:leave 函数 弹窗打开页面时触发的回调事件
bind:afterleave 函数 弹窗打开页面后触发的回调事件
bind:clickoverlay 函数 点击遮罩层时触发的回调事件
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。