Functions
createSwitch()
createSwitch<
T>(options): [() =>T,SwitchControls<T>]
创建开关和控制器
Type Parameters
| Type Parameter | Default type |
|---|---|
T | boolean |
Parameters
| Parameter | Type | Description |
|---|---|---|
options | CreateSwitchOptions<T> | 配置项 |
Returns
[() => T, SwitchControls<T>]
Example
ts
const [isCanceled, cancelControls] = createSwitch()
const onToggle = (val) => {
console.log(`当前是${val ? '开启' : '关闭'}状态`)
}
// 注册回调句柄
cancelControls.on(onToggle)
isCanceled()
// => false
cancelControls.toggle()
isCanceled()
// => true
// 控制台:当前是开启状态
// 移除回调句柄
cancelControls.off(onToggle)
cancelControls.toggle()
isCanceled()
// => false
cancelControls.open()
isCanceled()
// => true
cancelControls.close()
isCanceled()
// => false
cancelControls.open()
// 还原为初始状态
cancelControls.reset()
isCanceled()
// => falseInterfaces
CreateSwitchOptions<T>
Type Parameters
| Type Parameter | Default type |
|---|---|
T | boolean |
Properties
| Property | Type | Description |
|---|---|---|
closeValue? | T | 关闭时的值 Default false |
initialValue? | T | 初始值 Default false |
once? | boolean | 一次性开关,如果设为 true,则在第一次切换之后切换无效,直到 reset 被调用。 Default false |
openValue? | T | 打开时的值 Default true |
SwitchControls<T>
Type Parameters
| Type Parameter |
|---|
T |