在React Native中如何为个别的Picker.Item设置样式

9
有没有办法为每个Picker.Item添加样式?除了文本颜色之外?
另外,与此相关,Picker.Item会有哪些属性? 我知道它们将使用“key”,“value”,“label”和“color”。但还有其他的属性吗?
我正在尝试以与Picker中的其余Picker.Items不同的方式修改其中一个Picker.Item的样式。
具体来说,我想修改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'}}/>

我尝试了将标签设为Text组件,像这样:

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

这段内容完全无法呈现, 报错了。

我也尝试过以下方法:

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

9
您只能在Picker.Item中使用以下属性,这些属性在Picker.ios.jsPickerAndroid.android.js中提到。请注意保留HTML标记,但不要添加解释。
static propTypes = {
    value: PropTypes.any, // string or integer basically
    label: PropTypes.string,
    color: PropTypes.string,
  };

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接