样式个体Picker.Item在React Native中

时间:2018-04-20 21:17:26

标签: javascript reactjs react-native picker

有没有办法对单个Picker.Items进行样式设置?除了文字颜色?

另外,有点相关,Picker.Item会采用什么道具? 我知道他们会拿“钥匙”,“价值”,“标签”和“颜色”。但还有其他人吗?

我试图在Picker组件中设置Picker.Item之一的方式与Picker中其他Picker.Items不同。

具体来说,我正在尝试修改fontWeight,但除了具有该颜色属性的文本颜色之外,我无法更改任何样式。

我知道您可以使用itemStyle作为Picker组件的道具来设置所有项目的样式,但是如果您希望其中一个看起来与其他项目略有不同呢?有没有办法做到这一点?

<Picker
  style={{height: 130, width: 130}}
  selectedValue={this.state.day}
  itemStyle={{height: 130, fontFamily: 'Rubik-Regular'}}
  onValueChange={(itemValue, itemIndex) => this.setState({day: itemValue})}
>
  <Picker.Item label="Day" value={-1} color='red'/>
  { validDays.map((i) => ( <Picker.Item key={i} label={i.toString()} value={i} /> )) }
</Picker>

尝试更改第一个Picker.Item(label =“Day”)的内容。 我尝试弄乱风格道具但没有成功:

<Picker.Item label="Day" value={-1} style={{ color: 'red'}}/>

还试图给标签添加如下文本组件:

<Picker.Item label={(<Text>Hello</Text>)} value={-1}/>

根本不会呈现。扔错了。

也尝试过:

<Picker.Item label="" value={-1} color='red'><Text>Hello</Text></Picker.Item>

1 个答案:

答案 0 :(得分:1)

Picker.ios.jsPickerAndroid.android.js

中提到了您可以用于Picker.Item的唯一道具
static propTypes = {
    value: PropTypes.any, // string or integer basically
    label: PropTypes.string,
    color: PropTypes.string,
  };

因此,您无法提供任何其他值。