鸿蒙OS 添加外部容器

2020-09-18 13:42 更新

要将页面的基本元素组装在一起,需要使用容器组件。在页面布局中常用到三种容器组件,分别是 div、list 和 tabs。在页面结构相对简单时,可以直接用 div 作为容器,因为 div 作为单纯的布局容器,使用起来更为方便,可以支持多种子组件。

List 组件

当页面结构较为复杂时,如果使用 div 循环渲染,容易出现卡顿,因此推荐使用 list 组件代替 div 组件实现长列表布局,从而实现更加流畅的列表滚动体验。但是, list 组件仅支持 list-item 作为子组件,因此使用 list 时需要留意 list-item 的注意事项。具体的使用示例如下:

  1. <!-- xxx.hml -->
  2. <list class="list">
  3. <list-item type="listItem" for="{{textList}}">
  4. <text class="desc-text">{{$item.value}}</text>
  5. </list-item>
  6. </list>

  1. /* xxx.css */
  2. .desc-text {
  3. width: 683.3px;
  4. font-size: 35.4px;
  5. color: #000000;
  6. }

  1. // xxx.js
  2. export default {
  3. data: {
  4. textList: [{value: 'JS FA'}],
  5. },
  6. }

为避免示例代码过长,以上示例的list中只包含一个list-item,list-item中只有一个text组件。在实际应用中可以在list中加入多个list-item,同时list-item下可以包含多个其他子组件。

Tabs组件

当页面经常需要动态加载时,推荐使用tabs组件。tabs组件支持change事件,在页签切换后触发。tabs组件仅支持一个tab-bar和一个tab-content。具体的使用示例如下:

  1. <!-- xxx.hml -->
  2. <tabs>
  3. <tab-bar class="tab-bar">
  4. <text style="color: #000000">tab-bar</text>
  5. </tab-bar>
  6. <tab-content>
  7. <image src="{{tabImage}}"></image>
  8. </tab-content>
  9. </tabs>

  1. /* xxx.css */
  2. .tab-bar {
  3. background-color: #f2f2f2;
  4. width: 720px;
  5. }

  1. // xxx.js
  2. export default {
  3. data: {
  4. tabImage: '/common/image.png',
  5. },
  6. }

tab-content组件用来展示页签的内容区,高度默认充满tabs剩余空间。tab-content支持scrollable属性,详见tab-content

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号