开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
开发 > 组件 > 视图容器 > page-container 页面容器
收藏
订阅更新
我的文档
设置
简介
小程序如果在页面内进行复杂的界面设计(如在页面内弹出半屏的弹窗、在页面内加载一个全屏的子页面等),用户进行返回操作会直接离开当前页面,不符合用户预期,预期应为关闭当前弹出的组件。 为此提供“假页”容器组件,效果类似于 popup 弹出层,页面内存在该容器时,当用户进行返回操作,关闭该容器不关闭页面。返回操作包括右滑手势、安卓物理返回键和调用 navigateback 接口三种情形。
使用限制
基础库 2.8.0 开始支持,低版本需要做 兼容处理
native 渲染引擎:暂不支持。可以通过 my.caniuse('page-container') 判断是否支持。
当前页面最多只有 1 个容器,若已存在容器的情况下,无法增加新的容器。
my.navigateback 无法在页面栈顶调用,此时没有上一级页面。
必须在 onafterleave 中执行 this.setdata({show: false}) 同步 show 属性状态。
使用
示例代码
.axml
html
复制代码
<view class="title">弹出位置view>
<view class="box">
<button class="btn" ontap="popup" data-position="right">右侧弹出button>
<button class="btn" ontap="popup" data-position="top">顶部弹出button>
<button class="btn" ontap="popup" data-position="bottom">底部弹出button>
<button class="btn" ontap="popup" data-position="center">中央弹出button>
view>


<view class="title">弹窗圆角view>
<view class="box">
<button class="btn" ontap="changeround">设置{{round ? '直角' : '圆角'}}button>
view>

<view class="title">遮罩层view>
<view class="box">
<button class="btn" ontap="changeoverlay">设置{{overlay ? '无' : '有'}}遮罩button>
<button class="btn" ontap="changeoverlaystyle" data-type="black">黑色半透明遮罩button>
<button class="btn" ontap="changeoverlaystyle" data-type="white">白色半透明遮罩button>
<button class="btn" ontap="changeoverlaystyle" data-type="blur">模糊遮罩button>
view>


<page-container
show="{{show}}"
round="{{round}}"
overlay="{{overlay}}"
duration="{{duration}}"
position="{{position}}"
close-on-slide-down="{{false}}"
onbeforeenter="onbeforeenter"
onenter="onenter"
onentercancelled="onentercancelled"
onafterenter="onafterenter"
onbeforeleave="onbeforeleave"
onleave="onleave"
.js
.acss
属性说明
属性
类型
描述
show
boolean
是否显示容器组件。 默认值: false
duration
number
动画时长,单位毫秒。 默认值: 300
z-index
number
z-index 层级。 默认值: 100
overlay
boolean
是否显示遮罩层。 默认值: true
position
string
弹出位置。 可选值: top、bottom、right、center。 默认值: bottom
round
boolean
是否显示圆角。 默认值: false
close-on-slide-down
boolean
是否在下滑一段距离后关闭。 默认值: false
overlay-style
string
自定义遮罩层样式。
custom-style
string
自定义弹出层样式。
onbeforeenter
eventhandle
进入前触发。
onenter
eventhandle
进入中触发。
onentercancelled
eventhandle
进入被打断时触发(通过 a: if 打断时不会触发)。
onafterenter
eventhandle
进入后触发。
onbeforeleave
eventhandle
离开前触发。
onleave
eventhandle
离开中触发。
onleavecancelled
eventhandle
离开被打断时触发(通过 a: if 打断时不会触发)。
onafterleave
eventhandle
离开后触发。
onclickoverlay
eventhandle
点击遮罩层时触发。
常见问题
q:弹出层影响导航栏字体显示,如何解决?
a:可使用 ,在弹出层展示或消失时,配置 frontcolor 属性修改导航栏前景色。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 2022 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图