效果圖:
示例代碼
// 使用 DevEco Studio 3.1.1 Release 及以上版本,API 版本為 api 9 及以上。
// 主要功能及注意事項:
// 該組件展示了一個乘客選擇列表。列表中的每個項目包含一個復(fù)選框和對應(yīng)的乘客姓名,
// 用戶點擊任意一項即可切換其選中狀態(tài)。組件通過限制最多只能選擇5名乘客,
// 并在超過限制時通過promptAction模塊彈出 toast 提示用戶。
// 注意,代碼中的Checkbox組件目前設(shè)置為不可更改(enabled(false)),
// 在實際應(yīng)用中可以根據(jù)需求決定是否允許用戶手動改變復(fù)選框狀態(tài)。
// 導(dǎo)入提示操作模塊
import promptAction from '@ohos.promptAction';
// 定義數(shù)據(jù)模型類ItemData
class ItemData {
// 名字屬性
name: string;
// 是否選中屬性
isSelect: boolean;
// 構(gòu)造函數(shù)初始化數(shù)據(jù)
constructor(name: string, isSelect: boolean) {
this.name = name;
this.isSelect = isSelect;
}
}
// 標(biāo)記為入口文件并創(chuàng)建組件
@Entry
@Component
struct test {
// 狀態(tài)變量arr用于存儲ItemData對象數(shù)組
@State arr: Array< ItemData > = [
new ItemData('趙大', false),
new ItemData('錢二', false),
new ItemData('張三', false),
new ItemData('李四', false),
new ItemData('王五', false),
new ItemData('周六', false),
new ItemData('李七', false),
new ItemData('朱八', false)
];
// 構(gòu)建UI組件的方法
build() {
// 創(chuàng)建垂直方向布局
Column() {
// 顯示提示文本
Text('請選擇乘客,最多限五人')
.margin({ top: '60lpx', left: '50lpx', bottom: '10lpx' });
// 遍歷存儲乘客信息的數(shù)據(jù)數(shù)組
ForEach(this.arr, (item: ItemData, index: number) = > {
// 創(chuàng)建水平方向布局
Row() {
// 創(chuàng)建復(fù)選框組件,禁用修改(此處可能是樣式演示,實際應(yīng)用中可去除.enabled(false))
Checkbox()
.enabled(false)
.select(item.isSelect)
.width('41lpx')
.height('41lpx')
.selectedColor("#FF53B175");
// 顯示乘客姓名文本
Text(item.name)
.fontSize('27lpx')
.margin({ left: '10lpx' })
.fontWeight(400)
.fontColor(item.isSelect ? "#FF53B175" : "#FF181725")
// 當(dāng)行組件點擊事件處理
}
.onClick(() = > {
// 反轉(zhuǎn)當(dāng)前項的選中狀態(tài)
item.isSelect = !item.isSelect;
// 計算已選中乘客數(shù)量
let isSelectCount = 0;
for (let i = 0; i < this.arr.length; i++) {
if (this.arr[i].isSelect) {
isSelectCount++;
}
}
// 如果已選中超過5人,則恢復(fù)當(dāng)前項未選中狀態(tài)并彈出提示
if (isSelectCount > 5) {
item.isSelect = !item.isSelect;
try {
// 使用promptAction模塊顯示toast消息
promptAction.showToast({
message: '最多限五人',
duration: 2000,
bottom: '375lpx'
});
} catch (error) {
// 忽略錯誤
}
return;
}
// 更新數(shù)組中對應(yīng)項的狀態(tài)
this.arr[index] = new ItemData(item.name, item.isSelect);
})
// 設(shè)置行組件的邊距
.margin({ left: '40lpx', top: '10lpx' })
})
} // 設(shè)置Column組件的整體樣式
.width('100%')
.height('100%')
.backgroundColor("#FFF2F3F2")
.justifyContent(FlexAlign.Start)
.alignItems(HorizontalAlign.Start);
}
}
審核編輯 黃宇
鴻蒙OS開發(fā) | 更多內(nèi)容↓點擊 | HarmonyOS與OpenHarmony技術(shù) |
---|---|---|
鴻蒙技術(shù)文檔 | 開發(fā)知識更新庫gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md 在這。 | 或+mau123789學(xué)習(xí),是v喔 |
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
鴻蒙
+關(guān)注
關(guān)注
60文章
2620瀏覽量
44063 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
191瀏覽量
4998
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(音樂)
各位開發(fā)者小伙伴們好呀!今天咱們來點硬核干貨!最近在鴻蒙文檔中心挖到一座“金礦”——官方竟然暗藏了100+實戰(zhàn)案例,從分布式架構(gòu)到交互動效優(yōu)化應(yīng)有盡有!這些案例不僅藏著華為工程師的私房技巧,還直接
鴻蒙5開發(fā)寶藏案例分享---長列表性能優(yōu)化解析
鴻蒙長列表性能優(yōu)化大揭秘!告別卡頓,實戰(zhàn)代碼解析來了!
大家好呀~今天在翻鴻蒙開發(fā)者文檔時,發(fā)現(xiàn)了個 性能優(yōu)化寶藏案例 !官方居然悄悄放出了長列表
發(fā)表于 06-12 17:40
鴻蒙5開發(fā)寶藏案例分享---性能優(yōu)化案例解析
鴻蒙性能優(yōu)化寶藏指南:實戰(zhàn)工具與代碼案例解析
大家好呀!今天在翻鴻蒙開發(fā)者文檔時,意外挖到一個 性能優(yōu)化寶藏庫 ——原來官方早就提供了超多實用工具和案例,但很多小伙伴可能沒發(fā)現(xiàn)!這篇就帶大家手把手
發(fā)表于 06-12 16:36
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(游戲)
?【開發(fā)者必看】鴻蒙隱藏寶箱大公開!這些實戰(zhàn)案例讓你的開發(fā)效率翻倍!
哈嘍各位開發(fā)者小伙伴!今天要和大家分享一個讓我拍大腿的發(fā)現(xiàn)——原來鴻蒙
發(fā)表于 06-03 18:22
鴻蒙5開發(fā)案例分享揭秘---一多開發(fā)實例(商務(wù)辦公)
?【鴻蒙開發(fā)寶藏案例大揭秘】原來官方文檔里藏了這么多好東西!
大家好呀~最近在肝鴻蒙項目時意外扒出了官方文檔里的\"藏寶庫\"!原來那些讓人頭禿的跨端適配難題,官方早就準(zhǔn)備好
發(fā)表于 06-03 16:24
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(地圖導(dǎo)航)
案例!最近在肝鴻蒙項目時意外發(fā)現(xiàn)了這個地圖導(dǎo)航的\"一多\"開發(fā)實例,簡直像發(fā)現(xiàn)新大陸!這就帶大家沉浸式體驗這個超實用的開發(fā)模板~
? 先劃重點:這個案例完美演示了如何用一套代碼搞定
發(fā)表于 06-03 16:17
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(旅行訂票)
? 鴻蒙開發(fā)寶藏大發(fā)現(xiàn)!一多開發(fā)實戰(zhàn)案例解析(旅行訂票篇)
大家好!今天在翻鴻蒙開發(fā)者文檔時,意外發(fā)現(xiàn)了官方藏著一整片\"案例綠洲\"!尤其
發(fā)表于 06-03 16:16
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(購物比價)
【鴻蒙開發(fā)寶藏案例大公開!】手把手教你用\"一多\"能力打造跨端購物比價App
小伙伴們好呀!今天要和大家分享一個鴻蒙開發(fā)的隱藏寶典——官方購物比價應(yīng)用
發(fā)表于 06-03 16:07
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(社區(qū)評論)
應(yīng)用” 的一多開發(fā)實例,看完直呼“原來還能這樣玩?!” ? 必須整理出來和大家嘮嘮,順便帶大家手把手拆解幾個核心案例!
?** 一多開發(fā)是啥?一句話總結(jié):**
一次開發(fā),自動適配手機、
發(fā)表于 06-03 16:03
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(長視頻)
【?鴻蒙開發(fā)寶藏案例大起底!原來官方藏了這么多干貨!】
大家好呀~最近在折騰鴻蒙應(yīng)用開發(fā)的時候,意外發(fā)現(xiàn)了官方文檔里藏著一堆超實用的開發(fā)案例
發(fā)表于 06-03 15:58
DevEco Studio 聯(lián)合小藝接入 DeepSeek,步驟更簡單開發(fā)鴻蒙更專業(yè)
CodeGenie,在底部 Agents 中選擇 DeepSeek-R1(Beta),就可以直接開始使用 DeepSeek 的能力輔助開發(fā)原生鴻蒙應(yīng)用了!
我們來結(jié)合鴻蒙原生應(yīng)用
發(fā)表于 03-13 15:11
Flexus X 實例安裝 H5ai 目錄列表程序
在數(shù)字化的時代浪潮中,華為云以其卓越的技術(shù)實力和可靠的服務(wù)品質(zhì),成為眾多企業(yè)和開發(fā)者的首選。華為云 Flexus 云服務(wù)器 X 實例,作為新一代云服務(wù)器,更是以其柔性算力為中小企業(yè)和開發(fā)者帶來全新體驗。本次我將為大家展示在華為云

Flexus 云服務(wù)器 X 實例實踐:部署 Alist 文件列表程序
引言 在當(dāng)今數(shù)字化時代,華為云以其卓越的技術(shù)實力和可靠的服務(wù)品質(zhì)成為眾多企業(yè)和開發(fā)者的首選。華為云 Flexus 云服務(wù)器 X 實例作為新一代柔性算力云服務(wù)器,為我們部署 Alist 文件列表程序

鴻蒙原生開發(fā)手記:01-元服務(wù)開發(fā)
簡介
元服務(wù)是鴻蒙中的一種輕量應(yīng)用形態(tài),無需下載,直接運行。類似于微信小程序,但與小程序不同的是,元服務(wù)更加輕量。
元服務(wù)使用原生開發(fā),是系統(tǒng)級提供的,無論從易用性、性能、體驗上,都要比小程序好
發(fā)表于 11-14 17:28
評論