File tree 7 files changed +50
-84
lines changed
7 files changed +50
-84
lines changed Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -116,6 +116,7 @@ module.exports = MyPicker;
116
116
| hideIndicator | - | ` boolean ` | Hide indicator |
117
117
| indicatorWidth | 1 | ` number ` | Indicator width |
118
118
| backgroundColor | transparent | ` string ` | Wheel Picker background color |
119
+ | disabled | undefind | ` bool ` | Disable picker selection |
119
120
120
121
# Time Picker
121
122
Original file line number Diff line number Diff line change 1
- /**
2
- * @prettier
3
- * @flow
4
- * */
5
-
6
1
import WheelPicker from './src/WheelPicker'
7
2
import TimePicker from './src/TimePicker'
8
3
import DatePicker from './src/DatePicker'
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " react-native-wheel-picker-android" ,
3
- "version" : " 2.0.6 " ,
3
+ "version" : " 2.0.7 " ,
4
4
"description" : " Simple Wheel Picker for Android to use with react-native" ,
5
- "main" : " index.js " ,
5
+ "main" : " index.tsx " ,
6
6
"repository" : {
7
7
"type" : " git" ,
8
- "url" : " git+https://github.com/ElekenAgency /ReactNativeWheelPicker.git"
8
+ "url" : " git+https://github.com/kalontech /ReactNativeWheelPicker.git"
9
9
},
10
10
"keywords" : [
11
11
" react-component" ,
19
19
"author" :
" Artem Kosiakevych <[email protected] >" ,
20
20
"license" : " MIT" ,
21
21
"bugs" : {
22
- "url" : " https://github.com/ElekenAgency /ReactNativeWheelPicker/issues"
22
+ "url" : " https://github.com/kalontech /ReactNativeWheelPicker/issues"
23
23
},
24
- "homepage" : " https://github.com/ElekenAgency /ReactNativeWheelPicker" ,
24
+ "homepage" : " https://github.com/kalontech /ReactNativeWheelPicker" ,
25
25
"dependencies" : {
26
26
"moment" : " ^2.22.0"
27
27
}
Original file line number Diff line number Diff line change 4
4
* */
5
5
6
6
import React from 'react'
7
- import { requireNativeComponent } from 'react-native'
7
+ import { requireNativeComponent , View } from 'react-native'
8
8
9
9
const WheelPickerView = requireNativeComponent ( 'WheelPicker' , null )
10
10
@@ -20,13 +20,14 @@ type Props = {
20
20
itemTextSize ?: number ,
21
21
selectedItem ?: number ,
22
22
backgroundColor ?: string ,
23
- onItemSelected ?: number => void
23
+ onItemSelected ?: number => void ,
24
+ disabled ? : boolean ,
24
25
}
25
26
26
27
export default class WheelPicker extends React . Component < Props > {
27
28
static defaultProps = {
28
29
style : {
29
- width : 200 ,
30
+ width : 'auto' ,
30
31
height : 150 ,
31
32
} ,
32
33
}
@@ -38,11 +39,15 @@ export default class WheelPicker extends React.Component<Props> {
38
39
}
39
40
40
41
render ( ) {
42
+ const { isCyclic , data } = this . props
41
43
return (
42
- < WheelPickerView
43
- { ...this . props }
44
- onChange = { this . onItemSelected }
45
- />
44
+ < View pointerEvents = { this . props . disabled ? "none" : "auto" } >
45
+ < WheelPickerView
46
+ { ...this . props }
47
+ isCyclic = { data . length > 2 ? isCyclic : false }
48
+ onChange = { this . onItemSelected }
49
+ />
50
+ </ View >
46
51
)
47
52
}
48
53
}
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ import React , { useState } from "react" ;
2
+ import { Picker , View } from "react-native" ;
3
+
4
+ interface Props {
5
+ data : Array < string > ;
6
+ selectedItem ?: number ;
7
+ onItemSelected ?: Function ;
8
+ disabled ?: boolean ;
9
+ }
10
+ const WheelPicker : React . FC < Props > = props => {
11
+ const [ selectedItem , setSelectedItem ] = useState ( props . selectedItem || 0 ) ;
12
+ const { data, onItemSelected, disabled } = props ;
13
+ if ( ! data || data . length === 0 ) return null ;
14
+ return (
15
+ < View pointerEvents = { disabled ? "none" : "auto" } >
16
+ < Picker
17
+ { ...props }
18
+ selectedValue = { data [ selectedItem ] }
19
+ onValueChange = { ( value , index ) : void => {
20
+ if ( onItemSelected ) onItemSelected ( index ) ;
21
+ setSelectedItem ( index ) ;
22
+ } }
23
+ >
24
+ { data . map ( ( i , index ) => (
25
+ < Picker . Item key = { index } label = { i } value = { i } />
26
+ ) ) }
27
+ </ Picker >
28
+ </ View >
29
+ ) ;
30
+ } ;
31
+
32
+ export default WheelPicker ;
You can’t perform that action at this time.
0 commit comments