简体   繁体   中英

I want to make dropdown, but the Picker is giving error in React Native

I want to make a dropdown but the picker in this code is not working. How the dropdown can be made? this code runs all other things like (Text etc) but when i add picker it gives an error. So, how to make dropdown then?

import { useState } from "react";
import { View, Picker, StyleSheet, Text} from "react-native";

export default function app() {

  const [pickerval, setPickerval] = useState('java')

  return(
    <View style={styles.container}>
      <Text>helo</Text>

      <Picker style={styles.picker} selectedValue = {pickerval} onValueChange={(itemValue) => setPickerval(itemValue)}  >
        
        <Picker.Item label= "java" value= "java" />
        <Picker.Item label= "a" value= "a" />
        <Picker.Item label= "d" value= "d" />

      </Picker>

    </View>

  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  }

})

Use this package,

import RNPickerSelect from 'react-native-picker-select';

Example code:

 import RNPickerSelect from 'react-native-picker-select'; <RNPickerSelect placeholder = {{label: "Select Topic"}} onValueChange={(value) => console.log(value)} items={[ {label: 'Grammar', value: '1'}, {label: 'Poems', value: '2'}, {label: 'Biography', value: '3'}, {label: 'Meaning', value: '4'}, ]} />

you can try this example, as per React Native Picker Guideline they removed Picker and moved to separate here

import {View, Text, SafeAreaView, StyleSheet} from 'react-native';
import React, {useState} from 'react';
import {Picker} from '@react-native-picker/picker';

const PickerExample = () => {
  const [pickerval, setPickerval] = useState('java');

  return (
    <SafeAreaView>
      <View style={styles.container}>
        <Text>helo</Text>

        <Picker
          style={styles.picker}
          selectedValue={pickerval}
          onValueChange={itemValue => setPickerval(itemValue)}>
          <Picker.Item label="java" value="java" />
          <Picker.Item label="a" value="a" />
          <Picker.Item label="d" value="d" />
        </Picker>
      </View>
    </SafeAreaView>
  );
};
const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
  picker: {flex: 1},
});
export default PickerExample;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM