# UIToggle、UIToggleGroup 组件

# 概述

UIToggle 是一个单选按钮,用于进行简单的状态切换,需配合TouchInputComponent使用。

UIToggleGroup 是一个 UIToggle 管理器,用于在组内任意子 UIToggle 发生状态变化时,调整其他 UIToggle 状态。

UIToggle.gif

# 静态属性描述

ToggleState: UIToggle的状态枚举值

enum ToggleState {
  UnChecked,
  Checked,
}

# UIToggle 属性描述

属性名 类型 默认值 说明
allowSwitchOff boolean true 是否允许取消激活态。
isChecked boolean false 是否处于激活态。
target Renderable2D undefined UIToggle激活态影响的渲染组件
toggleGroup UIToggleGroup undefined UIToggle关联的UIToggleGroup
index number -1 位于 ToggleGroup 的index,若无对应 ToggleGroup 则为-1

# UIToggle 方法描述

方法 参数 返回值 功能
getState <ToggleState> 返回当前 UIToggle 状态
setState <ToggleState> Void 设置 UIToggle 状态,会影响isChecked

# UIToggleGroup 属性描述

属性名 类型 默认值 说明
allowSwitchOff boolean false UIToggleGroup下属的 UIToggle 是否允许取消激活态。
toggleList Array<UIToggle> [] 只读属性,UIToggleGroup控制的 UIToggle 数组。
deafaultActiveToggle UIToggle undefined UIToggleGroup中默认处于激活态的UIToggle。

# UIToggleGroup 方法描述

方法 参数 返回值 功能
getActiveToggle <UIToggle / null> 返回当前 ToggleGroup 激活状态的Toggle
setIndex <index: number> <boolean> 根据index,激活 ToggleGroup 里面Toggle,返回是否成功激活
checkedChange <toggle: UIToggle> Void 取消激活 ToggleGroup 中除 toggle 外的其他Toggle
addToggle <toggle: UIToggle> Void 往当前 UIToggleGroup 添加UIToggle
removeToggle <toggle: UIToggle> Void 往当前 UIToggleGroup 删除UIToggle

# 注意

  1. UIToggle若无指定Target,会默认取 Toggle 所在节点的第一个存在渲染组件的子节点,作为状态切换的目标,默认状态为显示。
  2. onTouchEnter时会将当前组件的 isChecked 设为true。
  3. UIToggle状态变化,会触发当前节点所有组件的onStateChange(isChecked: Booleen, state: ToggleState)