React native 当从ListView迁移到Flatlist时,我在对象中得到了我需要作为值得到的值
当从ListView迁移到Flatlist时,我在一个对象中获得了一个值,我需要在数组中获得一个值 我已将react本机模式筛选器选择器修改为需要为我工作的自定义组件。此处onSelect显示对象中的结果React native 当从ListView迁移到Flatlist时,我在对象中得到了我需要作为值得到的值,react-native,react-native-flatlist,React Native,React Native Flatlist,当从ListView迁移到Flatlist时,我在一个对象中获得了一个值,我需要在数组中获得一个值 我已将react本机模式筛选器选择器修改为需要为我工作的自定义组件。此处onSelect显示对象中的结果 renderOptionList = () => { const { noResultsText, listViewProps, keyboardShouldPersistTaps, keyExtractor, } = this.pro
renderOptionList = () => {
const {
noResultsText,
listViewProps,
keyboardShouldPersistTaps,
keyExtractor,
} = this.props
const { ds } = this.state;
if (!ds.length) {
return (
<FlatList
data={ds}
keyExtractor={keyExtractor||this.keyExtractor}
{...listViewProps}
renderItem={() => (
<View style={styles.noResults}>
<Text style={styles.noResultsText}>{noResultsText}</Text>
</View>
)}
/>
)
} else {
return (
<FlatList
keyExtractor={keyExtractor||this.keyExtractor}
{...listViewProps}
data={ds}
renderItem={this.renderOption}
/>
)
}
};
renderOption = ({item}) => {
const {
selectedOption,
renderOption,
optionTextStyle,
selectedOptionTextStyle
} = this.props;
const { key, label } = item
let style = styles.optionStyle;
let textStyle = optionTextStyle||styles.optionTextStyle;
if (key === selectedOption) {
style = styles.selectedOptionStyle;
textStyle = selectedOptionTextStyle ||styles.selectedOptionTextStyle
}
if (renderOption) {
return renderOption(item, key === selectedOption)
} else {
return (
<TouchableOpacity activeOpacity={0.7}
style={style}
onPress={() => this.props.onSelect(item)}
>
<Text style={textStyle}>{label}</Text>
</TouchableOpacity>
)
}
};
renderOptionList=()=>{
常数{
noResultsText,
listViewProps,
键盘上应该有多个按键,
钥匙拔出器,
}=这是道具
const{ds}=this.state;
如果(!ds.length){
返回(
(
{noResultsText}
)}
/>
)
}否则{
返回(
)
}
};
渲染=({item})=>{
常数{
选择选项,
渲染,
optionTextStyle,
selectedOptionTextStyle
}=这是道具;
常量{key,label}=item
让style=styles.options样式;
设textStyle=optionTextStyle | | styles.optionTextStyle;
如果(键===selectedOption){
style=style.selectedOptionStyle;
textStyle=selectedOptionTextStyle | | styles.selectedOptionTextStyle
}
if(渲染){
返回渲染(项,键===selectedOption)
}否则{
返回(
this.props.onSelect(项目)}
>
{label}
)
}
};
输出将是
["somestring", 42, false]
试试这个
JSON.stringfy(object)
JSON的一个常见用途是与web服务器交换数据
JSON.stringfy将JavaScript对象转换为字符串。在我上面的代码中,select上的Flatlist renderOption返回对象。我怎样才能改变这一点。此外,我只需要一个值,而不是OnStand中的所有值,而这可能是一个正确的/有用的答案,考虑包括一些附加的上下文或简短的解释为什么它会起作用。ZGski在我的回答中加了一个解释。谢谢
JSON.stringfy(object)