成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

HarmonyOS - ArkUI(JS)之list自定義地區組件

系統 OpenHarmony
list組件通常用于列表包含一系列相同寬度的列表項。list的子組件僅支持list-item-group和list-item。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

前言

List是用來顯示列表的組件,包含一系列相同寬度的列表項,適合連續、多行地呈現同類數據。本文將使用list組件實現字母索引地區列表和可折疊地區列表。

<list-item-group><list>的子組件,實現列表分組功能,不能再嵌套<list>,可以嵌套<list-item>
<list-item><list>的子組件,展示列表的具體項。

效果展示

1、字母索引導航到列表對應位置。

2、列表滑動時也同步定位到字母索引處。

3、點擊打開折疊的城市名稱,再次點擊收起當前列表。

list

list組件通常用于列表包含一系列相同寬度的列表項。list的子組件僅支持list-item-group和list-item。

list 屬性展示

主要知識點

實現思路

1、城市列表布局主要結構

// 索引城市列表
<list class="list" indexer="true" >
<list-item class="item" for="{{listData}}" type="{{$item.section}}" section="{{$item.pinyin}}">
<div class="container" >
<div class="in-container" >
<text class="name">{{$item.name}}</text>
</div>
</div>
</list-item>
</list>
// 折疊城市列表
<list style="width: 100%;" id="mylist">
<list-item-group style="background-color: #fff;padding: 0;" for="listgroup in list" id="{{listgroup.name}}" ongroupcollapse="collapse" ongroupexpand="expand">
<list-item class="list-item" type="item" for="listitem in listgroup.list" @click="childData">
<div class="item-group-child" >
<div class="child-list">
<text>{{listitem.name}}</text>
</div>
</div>
</list-item>
<list-item type="item" primary="true">
<div class="item-group-child parent-child">
<text>{{listgroup.name}}</text>
</div>
</list-item>
</list-item-group>
</list>

2、列表數據格式

索引字母城市列表數據。

[
{"name":"北京","pinyin":"BeiJing","id":110100},
{"name":"天津","pinyin":"TianJin","id":120100},
{"name":"石家莊","pinyin":"ShiJiaZhuang","id":130100},
{"name":"唐山","pinyin":"TangShan","id":130200}
......
]

折疊城市列表數據。

[
{
"id" : 140000,
"list" : [
{
"id" : 140100,
"list" : [
{
"id" : "140105",
"name" : "小店",
"pinyin" : "XiaoDian"
},
{
"id" : "140106",
"name" : "迎澤",
"pinyin" : "YingZe"
},
{
"id" : "140107",
"name" : "杏花嶺",
"pinyin" : "XingHuaLing"
},
{
"id" : "140108",
"name" : "尖草坪",
"pinyin" : "JianCaoPing"
},
{
"id" : "140109",
"name" : "萬柏林",
"pinyin" : "WanBaiLin"
},
{
"id" : "140110",
"name" : "晉源",
"pinyin" : "JinYuan"
},
{
"id" : "140121",
"name" : "清徐",
"pinyin" : "QingXu"
},
{
"id" : "140122",
"name" : "陽曲",
"pinyin" : "YangQu"
},
{
"id" : "140123",
"name" : "婁煩",
"pinyin" : "LouFan"
},
{
"id" : "140181",
"name" : "古交",
"pinyin" : "GuJiao"
}
],
"name" : "太原",
"pinyin" : "TaiYuan"
},
......
]

3、處理數據

城市數據較多,此處單獨放到一個文件中,使用import導入后使用。

// 初始化數據
import * as info from '../../common/city.js'
export default {
data: {
listData:[],
},
onInit() {
let cityData = info.default.city;
let citylist = [];
cityData.forEach(item => {
item.list.forEach(itemChild => {
let obj = {
name: itemChild.name,
pinyin: itemChild.pinyin,
id: itemChild.id,
}
citylist.push(obj)
});
});
this.listData = citylist;
},
}

4、字母索引導航

巧妙地結合 API 提供的indexer:是否展示側邊欄快速字母索引欄。設置為true或者自定義索引時,索引欄會顯示在列表右邊界處,點擊索引條進行列表項索引需要list-item子組件配合設置相應的section屬性。

section:當前item的匹配字符串,如不設置則為空。不支持動態修改。group內只有主item設置有效。

項目源碼

https://gitee.com/YiRanRuMeng/harmony-os-region-selecter。

總結

此組件主要用于地區選擇或者地區展示:使用list組件時需注意:

  • section:當前item的匹配字符串,如不設置則為空。不支持動態修改。group內只有主item設置有效。
  • groupcollapse和groupexpand事件僅支持list-item-group組件使用。
  • indexer屬性生效需要flex-direction屬性配合設置為column,且columns屬性設置為1。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??。

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2022-07-06 20:24:08

ArkUI計時組件

2021-11-24 10:02:53

鴻蒙HarmonyOS應用

2021-11-01 10:21:36

鴻蒙HarmonyOS應用

2022-05-23 10:53:54

canvas柱狀圖鴻蒙

2022-10-09 15:13:18

TextPickerArkUI eTS

2022-10-10 14:51:51

ArkUI eTSPieChart組件

2021-09-15 10:19:15

鴻蒙HarmonyOS應用

2022-05-26 14:50:15

ArkUITS擴展

2022-02-21 15:16:30

HarmonyOS鴻蒙操作系統

2022-10-26 15:54:46

canvas組件鴻蒙

2022-10-25 15:12:24

自定義組件鴻蒙

2022-06-30 14:02:07

鴻蒙開發消息彈窗組件

2022-07-15 16:45:35

slider滑塊組件鴻蒙

2022-06-20 15:43:45

switch開關鴻蒙

2022-02-16 16:09:12

鴻蒙游戲操作系統

2022-02-16 15:25:31

JS代碼Canvas鴻蒙

2021-12-24 15:46:23

鴻蒙HarmonyOS應用

2022-09-09 14:47:50

CircleArkUI

2022-07-12 16:56:48

自定義組件鴻蒙

2022-04-24 15:17:56

鴻蒙操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 伊人精品国产 | 欧美黄在线观看 | 精品国产1区2区3区 在线国产视频 | 欧美一区二区免费电影 | 亚洲一区二区在线视频 | 天天综合操 | 午夜男人天堂 | 国产sm主人调教女m视频 | 国产美女在线免费观看 | 国产成人精品一区二 | 99亚洲| 日韩在线观看 | www.色.com | 免费一级黄色电影 | 91精品国产综合久久香蕉922 | 美国十次成人欧美色导视频 | 蜜月va乱码一区二区三区 | 中国三级黄色录像 | 自拍偷拍亚洲一区 | 有码一区 | 午夜成人在线视频 | 青青草社区 | 欧美伊人久久久久久久久影院 | 欧美久久久久 | 人人鲁人人莫人人爱精品 | 久久精品免费一区二区三 | 久久久久久一区 | 国产小视频在线观看 | 午夜免费福利影院 | 日韩免费一区二区 | 亚洲中字在线 | 天天躁天天操 | 中文精品视频 | 欧美日韩综合精品 | 精品一区二区三区免费视频 | 午夜一级做a爰片久久毛片 精品综合 | 97精品超碰一区二区三区 | 黄色小视频入口 | 欧美一级免费片 | a在线免费观看 | 涩涩鲁亚洲精品一区二区 |