# page-meta

基础库 2.9.0 开始支持,低版本需做兼容处理

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

渲染框架支持情况:Skyline (使用最新 Nighly 工具调试)、WebView

# 功能描述

页面属性配置节点,用于指定页面的一些属性、监听页面事件。只能是页面内的第一个节点。可以配合 navigation-bar 组件一同使用。

通过这个节点可以获得类似于调用 wx.setBackgroundTextStyle wx.setBackgroundColor 等接口调用的效果。

# 通用属性

属性 类型 默认值 必填 说明 最低版本
background-text-style string 下拉背景字体、loading 图的样式,仅支持 darklight 2.9.0
background-color string 窗口的背景色,必须为十六进制颜色值 2.9.0
background-color-top string 顶部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 2.9.0
background-color-bottom string 底部窗口的背景色,必须为十六进制颜色值,仅 iOS 支持 2.9.0
root-background-color string 页面内容的背景色,用于页面中的空白部分和页面大小变化 resize 动画期间的临时空闲区域 2.12.1
page-style string "" 页面根节点样式,页面根节点是所有页面节点的祖先节点,相当于 HTML 中的 body 节点 2.9.0
page-font-size string "" 页面 page 的字体大小,可以设置为 system ,表示使用当前用户设置的微信字体大小 2.11.0
root-font-size string "" 页面的根字体大小,页面中的所有 rem 单位,将使用这个字体大小作为参考值,即 1rem 等于这个字体大小;自小程序版本 2.11.0 起,也可以设置为 system 2.9.0
page-orientation string "" 页面的方向,可为 auto portraitlandscape 2.12.0
bindresize eventhandle 页面尺寸变化时会触发 resize 事件, event.detail = { size: { windowWidth, windowHeight } } 2.9.0

# WebView 特有属性

属性 类型 默认值 必填 说明 最低版本
scroll-top string "" 滚动位置,可以使用 px 或者 rpx 为单位,在被设置时,页面会滚动到对应位置 2.9.0
scroll-duration number 300 滚动动画时长 2.9.0
bindscroll eventhandle 页面滚动时会触发 scroll 事件, event.detail = { scrollTop } 2.9.0
bindscrolldone eventhandle 如果通过改变 scroll-top 属性来使页面滚动,页面滚动结束后会触发 scrolldone 事件 2.9.0

# 示例代码

在开发者工具中预览效果

<page-meta
  background-text-style="{{bgTextStyle}}"
  background-color="{{bgColor}}"
  background-color-top="{{bgColorTop}}"
  background-color-bottom="{{bgColorBottom}}"
  scroll-top="{{scrollTop}}"
  page-style="color: green"
  root-font-size="16px"
>
  <navigation-bar
    title="{{nbTitle}}"
    loading="{{nbLoading}}"
    front-color="{{nbFrontColor}}"
    background-color="{{nbBackgroundColor}}"
  />
</page-meta>
Page({
  data: {
    bgTextStyle: 'dark',
    scrollTop: '200rpx',
    bgColor: '#ff0000',
    bgColorTop: '#00ff00',
    bgColorBottom: '#0000ff',
    nbTitle: '标题',
    nbLoading: false,
    nbFrontColor: '#000000',
    nbBackgroundColor: '#ffffff',
  },
})