
前一节我们学习了CodeWave的路线图,对CodeWave 已经有一个整体的认识了,本节我们开始学习页面设计,页面布局和页面跳转等具体功能。
创建应用时,系统会默认创建6个页面,分别是dashboard(总览页)、index(首页)、login(登录页)、404(404页面)、noAuth(无权限页面)、permission_center(权限中心)。
布局是页面排版的关键组件,我们以线性布局组件为例,支持如下3种布局模式:
每个组件都包含属性、事件和样式。其中大部分功能以及设置方式相同,本节对组件的通用属性做详细说明。
属性: 基础信息
属性: 主要属性
每个组件的主要属性均不相同,这里说明比较通用的属性,组件特有的属性在每个组件的说明文档中详细阐述。
属性: 数据属性
数据表格、数据列表等可以设置数据源的组件会有数据属性。不同组件的数据源数据会有一些差别,这里说明比较通用的属性,组件特有的属性在每个组件的说明文档中详细阐述。
属性:样式属性
每个组件有不同的事件,每个事件均可绑定相关逻辑。
事件:鼠标事件,与鼠标操作相关的事件
事件名 | 触发条件 |
|---|---|
点击 | 鼠标左键单击对应组件 |
双击 | 鼠标左键双击对应组件 |
右键点击 | 鼠标右键单击对应组件 |
鼠标按下 | 鼠标任意键在组件区域内按下 |
鼠标释放 | 鼠标任意键在组件区域内释放 |
鼠标移入 | 鼠标指针移入组件区域 |
鼠标移出 | 鼠标指针移出组件区域 |
事件:手势事件,移动端与手势操作相关的事件:
事件名 | 触发条件 |
|---|---|
点击 | 手指单击指定区域 |
事件:组件事件,组件内部实现的事件。 该类事件为每个组件特有,组件特有的属性在每个组件的说明文档中详细阐述。
事件:页面事件,页面实例从开始创建到展示完成有一个完整的过程,这个过程包括开始创建、初始化数据、挂载节点、更新渲染、销毁等。每个过程对应着一些事件,允许自定义事件的处理方法完成一些特定的功能。如在初始化数据的时候,可以传入一些数据处理函数,挂载节点的时候可以得到节点做一些dom节点操作处理。页面事件主要有:
事件名 | 触发条件 | 其他说明 |
|---|---|---|
进入时 | 页面刚打开时 | 只能做一些数据处理,不能获取dom节点进行操作 |
进入后 | 页面节点挂载时 | 可进行数据处理,dom操作 |
更新时 | 页面更新时 | 可进行数据处理,dom操作 |
离开时 | 页面跳转关闭后 | 可进行数据处理,dom操作,主要做一些数据清理操作 |
面包屑: 面包屑对于用户来说是一个方便的导航工具,能够帮助用户快速了解当前页面所在位置,并方便用户浏览网站内容。多用于有多层次的页面结构或较为复杂需要清晰的导航路径的应用中。

侧边栏: 侧边栏组件提供可供选择的侧边栏项,通常位于应用主要内容区域的一侧,用于应用导航菜单、应用设置等场景。

导航栏: 导航栏通常位于页面的顶部或固定位置。通过导航栏项,可以快速导航到网页应用的各个主要页面,例如首页、产品页面、服务页面等。

**下拉菜单:**提供弹出式的下拉菜单项可供选择,通常用于应用导航,通过下拉菜单项可快速浏览应用。

子页面容器: 每个页面生成的时候均会自带一个子页面容器,用于展示子页面内容。支持自行调整子页面容器的位置。

面板: 面板用于将相关的内容组织在一起,通常用于包装一组相关的内容,分块呈现页面内容,例如用面板包装一组表单、一组操作按钮等。面板提供三个插槽:面板标题、面板内容、额外插槽(右上角)。


数据表格:数据表格以二维表格形式呈现数据,通常包含行和列,用于展示相关的数据信息。

数据表格通常用于以下场景:
组件列表: 当在组件列表中拖入其他组件时,可以根据组件列表绑定的数据源动态展示其他组件的数量和内容。组件列表通常用于用户需要根据列表动态展示N 个相同组件,如展示商品的多种标签。

数据列表: 数据列表包含一组有序的、相互关联的数据项,每个数据项都具有一个唯一的标识符,例如ID、名称等。

数据列表通常用于以下场景:展示一系列相关的数据,例如课程表、时间表、菜单、文章列表等
数据网格:以网格方式展示数据,每一个网格对应数据表中的一行数据。

数据网格通常用于以下场景:当用户需要添加图片或进度条等其他组件,以卡片的形式展示多组数据列表时,可以使用数据网格来展示数据
日历:以日历方式展示数据,通常用于以下场景:展示用户个人日程信息,例如设置生日提醒、添加行程计划、预定场地资源或健康管理时,日历可以清晰地展示出用户的所有日程安排或状态。

表单:具有数据收集、校验和提交等功能,通常包含各种有输入值或选中值的组件,例如单行输入、选择器、单选组等。包括基础表单,行内表单,折叠分组三种用法。常用于账号注册,个人信息修改等场景。

单行输入: 提供可输入单行文本的输入框,通常用于接收短文本输入,例如用户名、密码、搜索关键字等。

数字输入: 提供可输入数字的输入框,适用于输入数字等场景,比如填写年龄、身高、体重等信息,或者进行数量、价格、金额等相关的计算和操作。


多行输入: 提供可输入多行文本的输入框,通常用于表单提交、问卷调查、编辑文章等场景。

单选组: 提供多个选项进行单项选择,通常用于表单提交、筛选条件选择等场景。

线性布局可以水平或垂直方式来排列界面中的组件,让布局内的组件间有一定的横向或者纵向间隔,并将组件排列到一条直线上。多用于横向或竖向的排布,在可视化开发页面中,将其拖入页面时提供单行排布、多行排布和两端排布三种布局方式,可供用户在不同需求下选择,快速实现布局效果。

栅格布局通常用于设计网格式的页面布局。通过将页面划分为多个列和行,然后将内容按照这些列和行进行排列,定义留白、对齐、分割等各种比例关系,让信息的展现更加清晰,让内容布局具有规律性。

分栏布局通常用于需要在页面中显示多个不同内容的情况,例如新闻网站的首页,需要区分不同的功能区,同时展示新闻、图片、视频等不同类型的内容,使用分栏布局可以使页面更加清晰明了。

自由布局是 CodeWave 智能开发平台提供的一种全新布局方式,在自由布局中支持通过拖拽来调整组件位置和调整大小,通过约束来设计其自适应策略,是一种更灵活、上手门槛更低的布局方式。自由布局组件是一种布局容器,它和平台现有的栅格布局、线性布局一样,可以用来进行页面布局。在自由布局组件内的组件会遵循自由布局提供的布局策略,例如拖拽调整宽高和位置,基于辅助线对齐等等。
我们将自由布局组件内的一级子组件称为自由布局内子组件,这些子组件会有一些特殊的属性,如距离和约束,用于确定其与父容器的位置关系。自由布局中的组件可以是任何类型的组件,包括自由布局组件本身。拖入容器中的组件会成为自由布局组件的子组件,如果子组件内有插槽,可以在插槽内继续拖入其他组件进行布局。注:只有自由布局组件内的一级子组件才具有自由布局的特性,子组件内的其他组件仍然遵循自身的布局规则。
自由布局可以用来搭建任何类型的网页,但它尤其适合那些对页面还原度要求比较高,页面布局效果比较丰富的网页。由于它的上手门槛较低,它也适合对传统的布局方式了解不深的用户
弹性布局是一种可以自适应不同屏幕尺寸和设备方向的布局方式,它擅长解决内部组件宽度要跟随数量或者外部容器宽度变化而变化的场景。在页面布局中,推荐尝试使用弹性布局来解决页面布局中的问题。
创建应用时,系统会默认创建6个页面,分别是dashboard(总览页)、index(首页)、login(登录页)、404(404页面)、noAuth(无权限页面)、permission_center(权限中心)。
本节介绍如何设置默认跳转页和设置页面跳转。



本节我们学习了页面设计,页面布局和页面跳转,其中页面设计我们学习了导航,容器,表格,表单等组件,页面布局我们学习了线性布局,栅格布局,分栏布局,自由布局和弹性布局,相信你现在已经可以构建简单的页面应用了,快去动手实践吧。
**文末彩蛋:**我是一名热爱人工智能的专栏作者,致力于分享人工智能领域的最新知识、技术和趋势。通过我的博客,你将能够了解到人工智能在各个领域的应用和创新,探讨人工智能对未来社会的影响,以及探索人工智能背后的科学原理和技术实现。欢迎大家收藏,评论和分享,让我们一起探索人工智能的奥秘,共同见证科技的进步!