我如何在本地人中对选择器进行样式设置

时间:2018-10-04 10:33:58

标签: react-native react-native-android

我有这个选择器,我为其设置了borderColor和backgrondColor,但是它不起作用,我又如何为Picker.item设置样式? 这是我的代码

 <Picker dataSource={this.state.x}
   style={{borderColor:'red' , backgroundColor:'green'}} // doesn't work 

      >

     {this.state.x.map((value)=><Picker.Item label={value} value={value} />)} 

     </Picker>

2 个答案:

答案 0 :(得分:1)

我已经创建了一个示例零食作为解决该问题的方法。

https://snack.expo.io/@incorelabs/style-picker-android

显然,在Android上,您需要将Picker包装在父视图中,并为其应用边框和背景色。我希望这是您想要的理想结果。

import React from 'react';
import { View, Picker } from 'react-native';

class App extends React.Component {
  state = {
    language: null,
  };

  render() {
    return (
      <View
        style={{
          borderColor: 'red',
          backgroundColor: 'green',
          borderWidth: 1,
          marginTop: 100,
          marginLeft: 100,
          width: 200,
        }}>
        <Picker
          selectedValue={this.state.language}
          style={{
            height: 50,
            width: 200,
            color: 'white',
          }}
          onValueChange={(itemValue, itemIndex) =>
            this.setState({ language: itemValue })
          }>
          <Picker.Item label="Java" value="java" />
          <Picker.Item label="JavaScript" value="js" />
        </Picker>
      </View>
    );
  }
}

export default App;

Picker with Border and Background Color on Android

答案 1 :(得分:1)

尝试使用:react-native-picker-select

https://www.npmjs.com/package/react-native-picker-select

那里有很多可能性(包括样式...)