ts-methods-textpicker-dialog.md 2.3 KB
Newer Older
E
esterzhou 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
# Text Picker Dialog Box

> ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE**
> This component is supported since API version 8. Updates will be marked with a superscript to indicate their earliest API version.

You can display a text picker in a dialog box to allow users to select text from the given range.

## Required Permissions

None

## TextPickerDialog.show

show(options: TextPickerDialogOption)

Shows a text picker in the given settings.

- TextPickerDialogOption parameters
  | Name| Type| Mandatory| Default Value| Description|
  | -------- | -------- | -------- | -------- | -------- |
  | range | string[] | Yes| - | Data selection range of the picker.|
  | selected | number | No| First element| Index value of the selected item in the range.|
  | defaultPickerItemHeight | number | No| - | Height of the default selected item in the picker.|
  | onAccept | (value: TextPickerResult) => void | No| - | Triggered when the OK button in the dialog box is clicked.|
  | onCancel | () => void | No| - | Triggered when the Cancel button in the dialog box is clicked.|
  | onChange | (value: TextPickerResult) => void | No| - | Triggered when the selected item in the picker changes.|

- TextPickerResult
  | Name| Type| Description| 
  | -------- | -------- | -------- |
  | value | string | Text of the selected item.| 
  | index | number | Index value of the selected item in the range.| 

## Example

```
@Entry
@Component
struct TextPickerDialogExample {
  @State select: number = 1
  private fruits: string[] = ['apple1', 'orange2', 'peach3', 'grape4']

  build() {
    Flex({direction: FlexDirection.Column, alignItems: ItemAlign.Center,
      justifyContent: FlexAlign.Center }) {
      Button("TextPickerDialog").onClick(() => {
        TextPickerDialog.show({
          range: this.fruits,
          selected: this.select,
          onAccept: (value: TextPickerResult) => {
            console.info("TextPickerDialog:onAccept()" + JSON.stringify(value))
            this.select = value.index
          },
          onCancel: () => {
            console.info("TextPickerDialog:onCancel()")
          },
          onChange: (value: TextPickerResult) => {
            console.info("TextPickerDialog:onChange()" + JSON.stringify(value))
          }
        })
      })
    }
  }
}
```