-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathPickerDemo.scala
41 lines (33 loc) · 1.1 KB
/
PickerDemo.scala
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
package showcase.app.community
import scommons.react._
import scommons.react.hooks._
import scommons.react.navigation._
import scommons.reactnative._
import scommons.reactnative.picker._
import scala.scalajs.js
/** @see https://github.com/react-native-picker/picker
*/
object PickerDemo extends FunctionComponent[Unit] {
protected def render(props: Props): ReactElement = {
val theme = useTheme()
val (language, setLanguage) = useState("1")
<.Picker(
^.selectedValue := language,
^.rnStyle := styles.picker,
^.onValueChange := { (itemValue, itemIndex) =>
//println(s"itemIndex: $itemIndex")
setLanguage(itemValue)
}
)(
<.PickerItem(^.color := theme.colors.primary, ^.label := "Java", ^.value := 1)(),
<.PickerItem(^.color := theme.colors.primary, ^.label := "JavaScript", ^.value := 2)()
)
}
private[community] lazy val styles = StyleSheet.create(new Styles)
private[community] class Styles extends js.Object {
val picker: Style = new ViewStyle {
override val height = 50
override val width = "100%"
}
}
}