{"id":18339863,"url":"https://github.com/rnkit/rnkit-actionsheet-picker","last_synced_at":"2025-06-20T14:10:50.525Z","repository":{"id":135844318,"uuid":"75360767","full_name":"rnkit/rnkit-actionsheet-picker","owner":"rnkit","description":"React Native ActionSheetPicker component for iOS + Android","archived":false,"fork":false,"pushed_at":"2019-12-25T16:00:21.000Z","size":614,"stargazers_count":61,"open_issues_count":9,"forks_count":34,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-02T11:06:34.352Z","etag":null,"topics":["datepicker","react-native","rnkit"],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rnkit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-02T04:31:14.000Z","updated_at":"2023-02-24T12:15:22.000Z","dependencies_parsed_at":"2023-06-09T12:31:00.624Z","dependency_job_id":null,"html_url":"https://github.com/rnkit/rnkit-actionsheet-picker","commit_stats":{"total_commits":43,"total_committers":3,"mean_commits":"14.333333333333334","dds":0.09302325581395354,"last_synced_commit":"716c9d38c18924a045f59010e8946746a05a3bd4"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/rnkit/rnkit-actionsheet-picker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnkit%2Frnkit-actionsheet-picker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnkit%2Frnkit-actionsheet-picker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnkit%2Frnkit-actionsheet-picker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnkit%2Frnkit-actionsheet-picker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rnkit","download_url":"https://codeload.github.com/rnkit/rnkit-actionsheet-picker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnkit%2Frnkit-actionsheet-picker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260268634,"owners_count":22983601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["datepicker","react-native","rnkit"],"created_at":"2024-11-05T20:19:39.622Z","updated_at":"2025-06-20T14:10:45.511Z","avatar_url":"https://github.com/rnkit.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![npm][npm-badge]][npm]\n[![react-native][rn-badge]][rn]\n[![MIT][license-badge]][license]\n[![bitHound Score][bithound-badge]][bithound]\n[![Downloads](https://img.shields.io/npm/dm/rnkit-actionsheet-picker.svg)](https://www.npmjs.com/package/rnkit-actionsheet-picker)\n\nThe best DatePicker and DataPicker for [React Native][rn].\n\n[**Support me with a Follow**](https://github.com/simman/followers)\n\n\n![](https://raw.githubusercontent.com/rnkit/rnkit-actionsheet-picker/master/android.gif)\n![](https://github.com/rnkit/rnkit-actionsheet-picker/blob/master/ios.gif?raw=true)\n\n[npm-badge]: https://img.shields.io/npm/v/rnkit-actionsheet-picker.svg\n[npm]: https://www.npmjs.com/package/rnkit-actionsheet-picker\n[rn-badge]: https://img.shields.io/badge/react--native-v0.28-05A5D1.svg\n[rn]: https://facebook.github.io/react-native\n[license-badge]: https://img.shields.io/dub/l/vibe-d.svg\n[license]: https://raw.githubusercontent.com/rnkit/rnkit-actionsheet-picker/master/LICENSE\n[bithound-badge]: https://www.bithound.io/github/rnkit/rnkit-actionsheet-picker/badges/score.svg\n[bithound]: https://www.bithound.io/github/rnkit/rnkit-actionsheet-picker\n\n## Getting Started\n\nFirst, `cd` to your RN project directory, and install RNMK through [rnpm](https://github.com/rnpm/rnpm) . If you don't have rnpm, you can install RNMK from npm with the command `npm i -S rnkit-actionsheet-picker` and link it manually (see below).\n\n### iOS\n\n* ####React Native \u003c 0.29 (Using rnpm)\n\n  `rnpm install rnkit-actionsheet-picker`\n\n* ####React Native \u003e= 0.29\n  `$npm install -S rnkit-actionsheet-picker`\n\n  `$react-native link rnkit-actionsheet-picker`\n\n\n\n#### Manually\n1. Add `node_modules/rnkit-actionsheet-picker/ios/RNKitASPickerView.xcodeproj` to your xcode project, usually under the `Libraries` group\n1. Add `libRNKitASPickerView.a` (from `Products` under `RNKitASPickerView.xcodeproj`) to build target's `Linked Frameworks and Libraries` list\n\n\n\n### Android\n\n* ####React Native \u003c 0.29 (Using rnpm)\n\n  `rnpm install rnkit-actionsheet-picker`\n\n* ####React Native \u003e= 0.29\n  `$npm install -S rnkit-actionsheet-picker`\n\n  `$react-native link rnkit-actionsheet-picker`\n\n#### Manually\n1. JDK 7+ is required\n1. Add the following snippet to your `android/settings.gradle`:\n  ```gradle\ninclude ':rnkit-actionsheet-picker'\nproject(':rnkit-actionsheet-picker').projectDir = new File(rootProject.projectDir, '../node_modules/rnkit-actionsheet-picker/android/app')\n\n  ```\n1. Declare the dependency in your `android/app/build.gradle`\n  ```gradle\n  dependencies {\n      ...\n      compile project(':rnkit-actionsheet-picker')\n  }\n\n  ```\n1. Import `import io.rnkit.actionsheetpicker.ASPickerViewPackage;` and register it in your `MainActivity` (or equivalent, RN \u003e= 0.32 MainApplication.java):\n\n  ```java\n  @Override\n  protected List\u003cReactPackage\u003e getPackages() {\n      return Arrays.asList(\n              new MainReactPackage(),\n              new ASPickerViewPackage()\n      );\n  }\n  ```\n\nFinally, you're good to go, feel free to require `rnkit-actionsheet-picker` in your JS files.\n\nHave fun! :metal:\n\n## Basic Usage\n\nImport library\n\n```\nimport { DatePicker, DataPicker } from 'rnkit-actionsheet-picker';\n```\n\n### DatePicker\n\n```jsx\nDatePicker.show({\n      onPickerConfirm: (selectedDate) =\u003e {\n        console.log(selectedDate);\n        this.setState({\n          date: selectedDate\n        })\n      },\n      onPickerCancel: () =\u003e {\n        console.log('date picker canceled');\n      },\n      onPickerDidSelect: (selectedDate) =\u003e {\n        console.log(selectedDate);\n      }\n    })\n    \n```\n\n#### Params\n\n| Key | Type | Default | Description |\n| --- | --- | --- | --- |\n| titleText | string | '选择时间' | |\n| titleTextColor | string | '#393939' |  |\n| doneText | string | '确定' | |\n| doneTextColor | string | '#269ff7' |  |\n| cancelText | string | '选择时间' | |\n| cancelTextColor | string | '#269ff7' |  |\n| minimumDate | string | '1900-01-01 00:00:00' |  |\n| maximumDate | string | '2222-12-12 23:59:59' |  |\n| selectedDate | string |  |  |\n| datePickerMode | string | 'datetime' | time、date、datetime |\n| onPickerConfirm | Fun |  | return selectedDate |\n| onPickerCancel | Fun |  |  |\n| onPickerDidSelect | Fun |  | iOS only |\n\n### DataPicker\n\n```jsx\nDataPicker.show({\n      // dataSource: [\"男\", \"女\"],\n      // dataSource: [{\"北京\": [\"123123\", \"ssssss\"]}, {\"广东省\": [\"深圳\"]}],\n      // dataSource: [{\"北京\": [{\"北京x\": [\"123123\", \"ssssss\"]}, {\"北京xasdfasdf\": [\"123123\", \"ssssss\"]}]},{\"广东省\": [{\"深圳\": [\"福田区\", \"宝安区\"]}]}],\n      dataSource: require('./area.json'),\n      defaultSelected: [\"广东\", '深圳市', '福田区'],\n      numberOfComponents: 3,\n      onPickerConfirm: (selectedData, selectedIndex) =\u003e {\n        console.log(selectedData, selectedIndex);\n        this.setState({\n          data: JSON.stringify(selectedData) + ' -- ' + JSON.stringify(selectedIndex)\n        })\n      },\n      onPickerCancel: () =\u003e {\n        console.log('data picker canceled');\n      },\n      onPickerDidSelect: (selectedData, selectedIndex) =\u003e {\n        console.log(selectedData, selectedIndex);\n      }\n    })\n\n```\n\n#### Params\n\n| Key | Type | Default | Description |\n| --- | --- | --- | --- |\n| titleText | string | '选择时间' | |\n| titleTextColor | string | '#393939' |  |\n| doneText | string | '确定' | |\n| doneTextColor | string | '#269ff7' |  |\n| cancelText | string | '选择时间' | |\n| cancelTextColor | string | '#269ff7' |  |\n| yearText | string | '年' | android only |\n| monthText | string | '月' | android only |\n| dayText | string | '日' | android only |\n| hoursText | string | '时' | android only |\n| minutesText | string | '分' | android only |\n| secondsText | string | '秒' | android only |\n| wheelBgColor | string |  | '滚轮背景颜色' android only |\n| titleBgColor | string |  | '标题栏背景颜色'android only |\n| doneCancelSize | int | 17 | '确定取消按钮大小'android only |\n| titleSize | int | 18 | '标题文字大小'android only |\n| contentSize | int | 18 | '内容文字大小'android only |\n| cancelEnabel | boolean | true | '是否能取消'android only |\n| isCenterLable | boolean | true | '是否只显示中间的label'android only |\n| outTextColor | string |  | '分割线以外的文字颜色'android only |\n| centerTextColor | string |  | '分割线之间的文字颜色'android only |\n| dividerColor | string |  | '分割线的颜色'android only |\n| shadeBgColor | string |  | '遮罩层背景色'android only |\n| lineSpacingMultiplier | float | 1.6f | '条目间距倍数'android only |\n| dividerType | string |  | '分割线类型：fill or wrap'android only |\n| isCyclic | boolean | false | '滚轮是否循环' android only |\n| numberOfComponents | int | 1 |  |\n| dataSource | array |  |  |\n| defaultSelected | array |  |  |\n| onPickerConfirm | Fun |  | return selectedData、selectedIndex |\n| onPickerCancel | Fun |  |  |\n| onPickerDidSelect | Fun |  | selectedData、selectedIndex （iOS only） |\n\n## Contribution\n\n- [@simamn](mailto:liwei0990@gmail.com) The main author.\n\n## Thanks\n\n[@saiwu-bigkoo](https://github.com/saiwu-bigkoo) - [Android-PickerView](https://github.com/saiwu-bigkoo/Android-PickerView) 仿iOS的PickerView控件，有时间选择和选项选择并支持一二三级联动效果\n[@skywinder](https://github.com/skywinder) - [ActionSheetPicker-3.0](https://github.com/skywinder/ActionSheetPicker-3.0) Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS.\n\n## Questions\n\nFeel free to [contact me](mailto:liwei0990@gmail.com) or [create an issue](https://github.com/rnkit/rnkit-actionsheet-picker/issues/new)\n\n\u003e made with ♥\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frnkit%2Frnkit-actionsheet-picker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frnkit%2Frnkit-actionsheet-picker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frnkit%2Frnkit-actionsheet-picker/lists"}