【HarmonyOS 5.0.0 或以上】构建分段控制器 Segmented:选项卡式快速切换 / 配合内容区域联动

🎯 目标

封装一个轻量级分段切换组件 CommonSegmented,适用于:

  • 分类切换(如:全部 / 进行中 / 已完成)

  • 表单模式选择(如:日 / 周 / 月)

  • 内容联动(与 Swiper / 内容列表联动)

  • 样式简洁清晰,选中高亮、底部滑块指示

  • 支持禁用项、图标与文字组合等扩展


🧱 交互样式示意

[ 全部 ] [ 进行中 ] [ 已完成 ]
        ↑ 当前高亮

🧰 组件实现:CommonSegmented.ets

@Component
export struct CommonSegmented {
  @Prop options: Array<{ label: string, value: any, disabled?: boolean }> = []
  @Prop value: any = null
  @Prop onChange: (v: any) => void = () => {}

  build() {
    Row({ space: 12 }).justifyContent(FlexAlign.SpaceAround).padding(8) {
      this.options.forEach(opt => {
        const isActive = this.value === opt.value

        Column()
          .alignItems(HorizontalAlign.Center)
          .padding({ left: 12, right: 12, top: 6, bottom: 6 })
          .backgroundColor(isActive ? '#00
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值