javascript - 在 React Native 中为单个 Picker.Item 设置样式

标签 javascript reactjs react-native picker

有什么方法可以设置单个 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/

相关文章:

javascript - 与一个外键关联序列化

reactjs - 使用 React 的 Azure Bot Framework 存在问题

android - react-native 包的原生部分可以独立运行和开发吗?

javascript - React、延迟渲染和钩子(Hook)

react-native - 在 android 中 react native 开关设计

reactjs - 如何解决 'this navigator has both navigation and container props'错误

javascript - 有人知道如何计算文档尺寸,而不是 Javascript 中的视口(viewport)尺寸吗?

javascript - 替换子字符串和可选的后续字符

javascript - 重新加载以显示新保存的记录时,数据表未正确重新初始化

javascript - 从表/列表中动态删除项目