Skip to content

H5预览

APP下载

Page 页面

cl-page 组件是一个基础的页面容器组件。

功能特性

  • 解决滚动问题:解决 APP 端页面超过一屏无法滚动需要手动在最顶级添加 <scroll-view :style="{ flex: 1 }"></scroll-view> 的问题,
  • 全局组件扩展:可以扩展更多的全局组件功能
  • 主题切换:默认在左下角提供切换亮色和深色模式的按钮,可在 config/index.ts 中通过 showDarkButton 参数配置

提示

建议在每个页面级组件的最顶级都添加 cl-page 组件,如:

vue
<template>
  <cl-page>
    <!-- 页面内容 -->
  </cl-page>
</template>

基础参数

参数说明类型可选值默认值
backTop是否显示回到顶部boolean-true

useUi

用于调用全局 UI 组件的组合式函数。

ts
import { useUi } from "@/uni_modules/cool-ui";

const ui = useUi();

方法

方法说明参数
showConfirm显示确认弹窗(options: ClConfirmOptions)
showTips显示确认提示弹窗(message: string, callback: (action: ClConfirmAction) => void)
showToast显示提示弹窗(options: ClToastOptions)
showLoading显示加载框(text: string | null = null)
hideLoading隐藏加载框()

使用示例

ts
// 显示确认弹窗
ui.showConfirm({
  title: "提示",
  message: "确定要提交吗?",
});

// 显示提示信息
ui.showTips("订单已结算成功", () => {
  router.back();
});

// 显示 Toast 消息
ui.showToast({
  message: "Hello",
});

// 显示 Loading
ui.showLoading("加载中");

// 隐藏 Loading
ui.hideLoading();

usePage

用于页面相关操作的组合式函数。

ts
import { usePage } from "@/uni_modules/cool-ui";

const page = usePage();

方法

方法说明类型返回值
path获取当前页面路径()string
getScrollTop获取滚动位置()number
scrollTo滚动到指定位置(top: number)-
scrollToTop回到顶部()-
onScroll监听页面滚动(callback: (top: number) => void)-

提示

onScroll 可以在任意子组件中使用,不仅解决了 onPageScroll 的兼容性问题,还提供了更灵活的页面滚动监听能力

使用示例

ts
const { onScroll } = usePage();

// 监听页面滚动
onScroll((top) => {
  console.log(`页面滚动距离: ${top}px`);
});

// 固定到指定位置
scrollTo(1000);