效果圖:

示例代碼
// 使用 DevEco Studio 3.1.1 Release 及以上版本,API 版本為 api 9 及以上。
// 主要功能及注意事項(xiàng):
// 該組件展示了一個(gè)乘客選擇列表。列表中的每個(gè)項(xiàng)目包含一個(gè)復(fù)選框和對(duì)應(yīng)的乘客姓名,
// 用戶(hù)點(diǎn)擊任意一項(xiàng)即可切換其選中狀態(tài)。組件通過(guò)限制最多只能選擇5名乘客,
// 并在超過(guò)限制時(shí)通過(guò)promptAction模塊彈出 toast 提示用戶(hù)。
// 注意,代碼中的Checkbox組件目前設(shè)置為不可更改(enabled(false)),
// 在實(shí)際應(yīng)用中可以根據(jù)需求決定是否允許用戶(hù)手動(dòng)改變復(fù)選框狀態(tài)。
// 導(dǎo)入提示操作模塊
import promptAction from '@ohos.promptAction';
// 定義數(shù)據(jù)模型類(lèi)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用于存儲(chǔ)ItemData對(duì)象數(shù)組
@State arr: Array< ItemData > = [
new ItemData('趙大', false),
new ItemData('錢(qián)二', 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('請(qǐng)選擇乘客,最多限五人')
.margin({ top: '60lpx', left: '50lpx', bottom: '10lpx' });
// 遍歷存儲(chǔ)乘客信息的數(shù)據(jù)數(shù)組
ForEach(this.arr, (item: ItemData, index: number) = > {
// 創(chuàng)建水平方向布局
Row() {
// 創(chuàng)建復(fù)選框組件,禁用修改(此處可能是樣式演示,實(shí)際應(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)行組件點(diǎn)擊事件處理
}
.onClick(() = > {
// 反轉(zhuǎn)當(dāng)前項(xiàng)的選中狀態(tài)
item.isSelect = !item.isSelect;
// 計(jì)算已選中乘客數(shù)量
let isSelectCount = 0;
for (let i = 0; i < this.arr.length; i++) {
if (this.arr[i].isSelect) {
isSelectCount++;
}
}
// 如果已選中超過(guò)5人,則恢復(fù)當(dāng)前項(xiàng)未選中狀態(tài)并彈出提示
if (isSelectCount > 5) {
item.isSelect = !item.isSelect;
try {
// 使用promptAction模塊顯示toast消息
promptAction.showToast({
message: '最多限五人',
duration: 2000,
bottom: '375lpx'
});
} catch (error) {
// 忽略錯(cuò)誤
}
return;
}
// 更新數(shù)組中對(duì)應(yīng)項(xià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開(kāi)發(fā) | 更多內(nèi)容↓點(diǎn)擊 | HarmonyOS與OpenHarmony技術(shù) |
|---|---|---|
| 鴻蒙技術(shù)文檔 | 開(kāi)發(fā)知識(shí)更新庫(kù)gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在這。 | 或+mau123789學(xué)習(xí),是v喔 |
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
鴻蒙
+關(guān)注
關(guān)注
60文章
2963瀏覽量
45883 -
鴻蒙OS
+關(guān)注
關(guān)注
0文章
193瀏覽量
5482
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
證書(shū)數(shù)量達(dá)到上限處理方式
AGC各個(gè)類(lèi)型的證書(shū)都存在數(shù)量限制。當(dāng)數(shù)量達(dá)到上限時(shí),可選擇以下任意一種方式處理:
廢除對(duì)應(yīng)類(lèi)型下多余的證書(shū)。廢除前請(qǐng)確保該證書(shū)未被任何應(yīng)用使用。
當(dāng)存在多個(gè)應(yīng)用時(shí),可以讓多個(gè)應(yīng)用使用同一個(gè)證書(shū)。以
發(fā)表于 01-16 10:05
FreeRTOS與uC/OS-II如何選擇?
聯(lián)網(wǎng)、消費(fèi)電子、工業(yè)控制等領(lǐng)域。其開(kāi)源許可、強(qiáng)大的生態(tài)系統(tǒng)、社區(qū)活躍度和 AWS 的強(qiáng)力支持是其不可比擬的優(yōu)勢(shì)。
uC/OS-II 是一個(gè)設(shè)計(jì)精良、久經(jīng)考驗(yàn)的 RTOS, 以其可靠性和嚴(yán)謹(jǐn)性著稱(chēng)。開(kāi)源后大大降低了使用門(mén)檻。它仍然是許多傳統(tǒng)關(guān)鍵應(yīng)用和熟悉其體系的開(kāi)發(fā)者的可靠
發(fā)表于 11-13 07:15
【匯思博SEEK100開(kāi)發(fā)板試用體驗(yàn)】在開(kāi)發(fā)板鴻蒙OS搭建QT開(kāi)發(fā)環(huán)境
、基于 SEEK100 開(kāi)發(fā)板的 QT 鴻蒙應(yīng)用開(kāi)發(fā)流程
(一)創(chuàng)建 QT 項(xiàng)目
在 Qt Creator 中,通過(guò)常規(guī)的新建項(xiàng)目流程,選擇合適的 Qt 項(xiàng)目模板,例如基于 Widg
發(fā)表于 08-24 18:34
【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐
【HarmonyOS 5】金融應(yīng)用開(kāi)發(fā)鴻蒙組件實(shí)踐 ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)#
鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(音樂(lè))
各位開(kāi)發(fā)者小伙伴們好呀!今天咱們來(lái)點(diǎn)硬核干貨!最近在鴻蒙文檔中心挖到一座“金礦”——官方竟然暗藏了100+實(shí)戰(zhàn)案例,從分布式架構(gòu)到交互動(dòng)效優(yōu)化應(yīng)有盡有!這些案例不僅藏著華為工程師的私房技巧,還直接
鴻蒙5開(kāi)發(fā)寶藏案例分享---長(zhǎng)列表性能優(yōu)化解析
鴻蒙長(zhǎng)列表性能優(yōu)化大揭秘!告別卡頓,實(shí)戰(zhàn)代碼解析來(lái)了!
大家好呀~今天在翻鴻蒙開(kāi)發(fā)者文檔時(shí),發(fā)現(xiàn)了個(gè) 性能優(yōu)化寶藏案例 !官方居然悄悄放出了長(zhǎng)列表
發(fā)表于 06-12 17:40
鴻蒙5開(kāi)發(fā)寶藏案例分享---性能優(yōu)化案例解析
鴻蒙性能優(yōu)化寶藏指南:實(shí)戰(zhàn)工具與代碼案例解析
大家好呀!今天在翻鴻蒙開(kāi)發(fā)者文檔時(shí),意外挖到一個(gè) 性能優(yōu)化寶藏庫(kù) ——原來(lái)官方早就提供了超多實(shí)用工具和案例,但很多小伙伴可能沒(méi)發(fā)現(xiàn)!這篇就帶大家手把手
發(fā)表于 06-12 16:36
鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(游戲)
?【開(kāi)發(fā)者必看】鴻蒙隱藏寶箱大公開(kāi)!這些實(shí)戰(zhàn)案例讓你的開(kāi)發(fā)效率翻倍!
哈嘍各位開(kāi)發(fā)者小伙伴!今天要和大家分享一個(gè)讓我拍大腿的發(fā)現(xiàn)——原來(lái)鴻蒙
發(fā)表于 06-03 18:22
鴻蒙5開(kāi)發(fā)案例分享揭秘---一多開(kāi)發(fā)實(shí)例(商務(wù)辦公)
?【鴻蒙開(kāi)發(fā)寶藏案例大揭秘】原來(lái)官方文檔里藏了這么多好東西!
大家好呀~最近在肝鴻蒙項(xiàng)目時(shí)意外扒出了官方文檔里的\"藏寶庫(kù)\"!原來(lái)那些讓人頭禿的跨端適配難題,官方早就準(zhǔn)備好
發(fā)表于 06-03 16:24
鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(地圖導(dǎo)航)
案例!最近在肝鴻蒙項(xiàng)目時(shí)意外發(fā)現(xiàn)了這個(gè)地圖導(dǎo)航的\"一多\"開(kāi)發(fā)實(shí)例,簡(jiǎn)直像發(fā)現(xiàn)新大陸!這就帶大家沉浸式體驗(yàn)這個(gè)超實(shí)用的開(kāi)發(fā)模板~
? 先劃重點(diǎn):這個(gè)案例完美演示了如何用一套代碼搞定
發(fā)表于 06-03 16:17
鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(旅行訂票)
? 鴻蒙開(kāi)發(fā)寶藏大發(fā)現(xiàn)!一多開(kāi)發(fā)實(shí)戰(zhàn)案例解析(旅行訂票篇)
大家好!今天在翻鴻蒙開(kāi)發(fā)者文檔時(shí),意外發(fā)現(xiàn)了官方藏著一整片\"案例綠洲\"!尤其
發(fā)表于 06-03 16:16
鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(購(gòu)物比價(jià))
【鴻蒙開(kāi)發(fā)寶藏案例大公開(kāi)!】手把手教你用\"一多\"能力打造跨端購(gòu)物比價(jià)App
小伙伴們好呀!今天要和大家分享一個(gè)鴻蒙開(kāi)發(fā)的隱藏寶典——官方購(gòu)物比價(jià)應(yīng)用
發(fā)表于 06-03 16:07
鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(社區(qū)評(píng)論)
應(yīng)用” 的一多開(kāi)發(fā)實(shí)例,看完直呼“原來(lái)還能這樣玩?!” ? 必須整理出來(lái)和大家嘮嘮,順便帶大家手把手拆解幾個(gè)核心案例!
?** 一多開(kāi)發(fā)是啥?一句話(huà)總結(jié):**
一次開(kāi)發(fā),自動(dòng)適配手機(jī)、
發(fā)表于 06-03 16:03
鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(長(zhǎng)視頻)
【?鴻蒙開(kāi)發(fā)寶藏案例大起底!原來(lái)官方藏了這么多干貨!】
大家好呀~最近在折騰鴻蒙應(yīng)用開(kāi)發(fā)的時(shí)候,意外發(fā)現(xiàn)了官方文檔里藏著一堆超實(shí)用的開(kāi)發(fā)案例
發(fā)表于 06-03 15:58
DevEco Studio 聯(lián)合小藝接入 DeepSeek,步驟更簡(jiǎn)單開(kāi)發(fā)鴻蒙更專(zhuān)業(yè)
CodeGenie,在底部 Agents 中選擇 DeepSeek-R1(Beta),就可以直接開(kāi)始使用 DeepSeek 的能力輔助開(kāi)發(fā)原生鴻蒙應(yīng)用了!
我們來(lái)結(jié)合鴻蒙原生應(yīng)用
發(fā)表于 03-13 15:11
鴻蒙OS開(kāi)發(fā)實(shí)例:【demo選擇列表限定數(shù)量】
評(píng)論