我有这个自定义选择器组件,当在Android中使用时,它的响应很好,但是在IOS中,它是第一个选择上的“固定”控件,当按下它时,不会弹出对话框,也不会执行任何操作。它与具有某些“有趣”样式的文本元素没有什么不同,哈哈。这是组件代码:
import React from 'react';
import { View, Text, Picker, StyleSheet } from 'react-native';
export class GeneralPicker extends React.Component {
constructor(props) {
super(props);
this.state = {
selectedValue: "",
};
}
render() {
return(
<View style={styles.outerContainer}>
<Text style={styles.labelText}>{this.props.labelText}</Text>
<Picker prompt='Select' selectedValue={this.state.selectedValue} onValueChange={(itemValue, itemIndex) => this.setState({selectedValue: itemValue})} itemStyle={styles.items} style={styles.inputStyles}>
<Picker.Item label={this.props.placeholderLabel} value='' />
<Picker.Item label='Friend' value='friend' />
<Picker.Item label='Family' value='family' />
<Picker.Item label='Co Worker' value='coworker' />
</Picker>
</View>
);
}
}
const styles = StyleSheet.create({
outerContainer: {
width: '90%',
marginBottom: 20,
},
labelText: {
fontFamily: 'rubik-bold',
fontSize: 14,
fontWeight: 'bold',
color: '#fff',
marginBottom: 5,
},
inputStyles: {
height: 40,
borderRadius: 2,
backgroundColor: 'rgba(255, 255, 255, 0.3);',
width: '100%',
},
items: {
fontSize: 14,
color: '#fff',
fontFamily: 'rubik-bold',
borderRadius: 2,
height: 40,
},
});
再次,由于某种原因,它可以在Android上运行,但不能在IOS上运行。我以前没有在单个项目上设置边界高度,这使它在IOS中显示所有异常,因此当我在边界高度上显示时,不再出现异常显示,但是选择器没有响应。当我说奇怪的显示时,我的意思是显示的选择器没有在“选择器内部”有任何项目,所有项目的透明度都低于选择器下方约50像素,并且可以滚动,但从未选择。
所以我想我的问题是... 为什么此选择器代码在Android上有效,但在IOS上不起作用?
答案 0 :(得分:0)
是的,Picker仅适用于Android。 需要为IOS进行更改
java.lang.Character