-
-
Notifications
You must be signed in to change notification settings - Fork 99
Feature Request: Native Option Picker Plugin (iOS UIPickerView / Android Spinner) #782
Copy link
Copy link
Open
Labels
featureFeature requestFeature request
Description
Name
Option Picker
Platform(s)
- Android
- iOS
- Web
Description
Summary
I would like to propose a new plugin that provides a native option picker / list selector for Capacitor apps.
The goal is to offer a better mobile UX alternative to HTML <select> or custom dropdown components by leveraging:
UIPickerView(or similar) on iOSSpinneror Material exposed dropdown on Android
Similar in spirit to the existing Datetime Picker plugin, but for generic option selection.
Problem
In mobile apps, standard dropdown/select components often:
- Feel non-native
- Have inconsistent behavior across platforms
- Perform poorly with long lists
- Provide suboptimal UX for search + selection
This becomes especially noticeable when used alongside native-feeling components like the Capawesome Datetime Picker.
For forms-heavy apps, a native picker would significantly improve UX consistency.
Proposed API (Initial Version)
A simple API similar to the Datetime Picker:
import { OptionPicker } from '@capawesome/capacitor-option-picker';
const { value } = await OptionPicker.show({
title: 'Select an option',
options: [
{ label: 'Option 1', value: '1' },
{ label: 'Option 2', value: '2' },
{ label: 'Option 3', value: '3' }
],
selectedValue: '2'
});Options
title?: stringoptions: { label: string; value: string }[]selectedValue?: stringcancelButtonText?: stringconfirmButtonText?: string
Return
{
value: string;
}Possible Extensions
- Multi-select mode
- Searchable picker (native search bar integration if possible)
- Sectioned/grouped options
- Muti-column picker (Country -> State)
- Support for large datasets (lazy loading?)
- Custom theming options
Additional context
No response
Before submitting
- I have read and followed the plugin request guidelines.
- I have attached links to possibly related issues and discussions.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
featureFeature requestFeature request