步进器

Stepper 是一个用于执行递增和递减操作的控件。它允许用户通过点击“+”或“-”按钮来增加或减少数值。该组件也支持触发编辑状态变化的回调函数。

属性

1. title(可选,字符串)

  • 描述:指定步进器的标题,通常用于说明步进器的目的。
  • 类型string
  • 示例
    1<Stepper 
    2  title="Adjust Volume" 
    3  onIncrement={handleIncrement} 
    4  onDecrement={handleDecrement} 
    5/>

2. children(可选,虚拟节点)

  • 描述:用于描述步进器的目的的视图内容。可以使用多个子视图来构建控件的外观。此属性和 title 属性为互斥关系,只能选择其一。
  • 类型(VirtualNode | undefined | null | (VirtualNode | undefined | null)[])[] | VirtualNode
  • 示例
    1<Stepper
    2  onIncrement={handleIncrement} 
    3  onDecrement={handleDecrement}
    4>
    5  <Text>Adjust Volume</Text>
    6</Stepper>

3. onIncrement(必选,回调函数)

  • 描述:当用户点击或触摸“+”按钮时,执行此函数。
  • 类型() => void
  • 示例
    1const handleIncrement = () => {
    2  console.log("Incremented");
    3}
    4
    5<Stepper 
    6  onIncrement={handleIncrement} 
    7  onDecrement={handleDecrement} 
    8/>

4. onDecrement(必选,回调函数)

  • 描述:当用户点击或触摸“-”按钮时,执行此函数。
  • 类型() => void
  • 示例
    1const handleDecrement = () => {
    2  console.log("Decremented")
    3}
    4
    5<Stepper onIncrement={handleIncrement} onDecrement={handleDecrement} />

5. onEditingChanged(可选,回调函数)

  • 描述:当编辑开始和结束时调用的函数。例如,在 iOS 上,用户长按步进器的增减按钮时,会触发 onEditingChanged 回调函数,表示编辑状态的变化。
  • 类型(value: boolean) => void
  • 示例
    1const handleEditingChanged = (isEditing: boolean) => {
    2  console.log("Editing started:", isEditing)
    3}
    4
    5<Stepper 
    6  onIncrement={handleIncrement} 
    7  onDecrement={handleDecrement} 
    8  onEditingChanged={handleEditingChanged} 
    9/>

示例代码

以下是一个完整的示例,展示了如何使用 Stepper 组件:

1const handleIncrement = () => {
2  console.log("Volume increased")
3}
4
5const handleDecrement = () => {
6  console.log("Volume decreased")
7}
8
9const handleEditingChanged = (isEditing: boolean) => {
10  console.log("Editing started:", isEditing)
11}
12
13<Stepper
14  title="Volume Control"
15  onIncrement={handleIncrement}
16  onDecrement={handleDecrement}
17  onEditingChanged={handleEditingChanged}
18/>

注意事项

  • titlechildren 属性是互斥的。只能使用一个来描述步进器的目的。
  • onEditingChanged 回调函数是可选的,只在支持编辑状态的情况下触发,例如长按按钮时。

小结

Stepper 控件提供了一个简单的接口来实现递增和递减操作,支持在用户交互时触发回调。通过配置 titlechildren 属性来指定控件的目的,并且可以使用 onIncrementonDecrement 函数定义按钮点击后的行为。