Checkbox

Checkbox 的簡易使用

Checkbox 是 HarmonyOS 中的多選框組件,用于表示某選項(xiàng)的打開或關(guān)閉狀態(tài)。以下是其簡易使用方法:

1. 引入與基本使用

.ets文件中,通過@Entry@Component裝飾器定義組件,在build函數(shù)中創(chuàng)建Checkbox實(shí)例。例如:

@Entry
@Component
struct CheckboxExample {
  build() {
    Flex({ justifyContent: FlexAlign.SpaceAround }) {
      Checkbox({ name: 'checkbox1', group: 'checkboxGroup' })
      .select(true)
      .selectedColor(0xed6f21)
      .shape(CheckBoxShape.CIRCLE)
      .onChange((value: boolean) => {
          console.info('Checkbox1 change is' + value)
        })
    }
  }
}

2. 常用屬性

  • select:設(shè)置多選框是否選中,支持雙向綁定變量(API version 10 及以上),默認(rèn)值為false。
  • selectedColor:設(shè)置選中狀態(tài)顏色,默認(rèn)值為$r('sys.color.ohos_id_color_text_primary_activated')。
  • unselectedColor(API version 10 及以上):設(shè)置非選中狀態(tài)邊框顏色,默認(rèn)值為$r('sys.color.ohos_id_color_switch_outline_off')。
  • mark(API version 10 及以上):設(shè)置內(nèi)部圖標(biāo)樣式,API version 12 及以上若設(shè)置了indicatorBuilder,則按其內(nèi)容顯示。
  • shape(API version 11 及以上):設(shè)置組件形狀,可選值為CheckBoxShape.CIRCLE(圓形,默認(rèn))和CheckBoxShape.ROUNDED_SQUARE(圓角方形)。
  • contentModifier(API version 12 及以上):用于定制 CheckBox 內(nèi)容區(qū),需自定義類實(shí)現(xiàn)ContentModifier接口。

3. 事件處理

通過onChange事件監(jiān)聽選中狀態(tài)變化,回調(diào)函數(shù)中會(huì)返回當(dāng)前選中狀態(tài)(true為選中,false為未選中)。例如:

Checkbox({ name: 'checkbox1', group: 'checkboxGroup' })
.onChange((value: boolean) => {
  console.info('Checkbox1 change is' + value)
})

4. 示例場景

  • 設(shè)置多選框形狀:可通過shape屬性配置為圓形或圓角方形,如示例 1。
  • 設(shè)置多選框顏色:使用selectedColorunselectedColormark等屬性自定義顏色,如示例 2。
  • 自定義多選框樣式:利用contentModifier屬性(API version 12 及以上),結(jié)合自定義組件實(shí)現(xiàn)復(fù)雜樣式,如示例 3 中創(chuàng)建了五邊形復(fù)選框及選中狀態(tài)變化時(shí)的不同顯示效果。

總之,Checkbox 組件功能豐富,能滿足多種場景下的多選框需求,開發(fā)者可根據(jù)實(shí)際情況靈活運(yùn)用其屬性和事件。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容