有什么方法可以设置单个 Picker.Items 的样式吗?除了文字颜色?
另外,有点相关的是,Picker.Item 需要哪些 Prop ? 我知道他们会使用“key”、“value”、“label”和“color”。但是还有其他的吗?
我正在尝试为我的 Picker 组件中的一个 Picker.Item 设置样式,使其与该 Picker 中的其余 Picker.Items 不同。
具体来说,我正在尝试修改 fontWeight,但除了具有该颜色属性的文本颜色外,我无法更改任何样式。
我知道您可以使用 itemStyle 作为 Picker 组件的 Prop 来设置所有项目的样式,但是如果您希望其中一个项目看起来与其他项目略有不同怎么办?有办法吗?
<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") 的样子。 我尝试弄乱 style prop 但没有成功:
<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>
最佳答案
您可以在 Picker.Item
中使用的唯一 Prop 在 Picker.ios.js 中提到。和 PickerAndroid.android.js
static propTypes = {
value: PropTypes.any, // string or integer basically
label: PropTypes.string,
color: PropTypes.string,
};
因此您不能为其提供任何其他值。
关于javascript - 在 React Native 中为单个 Picker.Item 设置样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49949845/