探索自定义之美:React Native中的Segemented Control组件
import React from 'react';
import { View, StyleSheet } from 'react-native';
import { ButtonGroup, Text } from 'react-native-elements';
export default class SegmentedControl extends React.Component {
state = { selectedIndex: 0 };
render() {
const buttons = this.props.buttons;
return (
<View style={styles.container}>
<ButtonGroup
selectedIndex={this.state.selectedIndex}
buttons={buttons}
containerStyle={styles.buttonGroup}
onSelect={index => this.setState({ selectedIndex: index })}
/>
<Text style={styles.selectedText}>
选中的是: {buttons[this.state.selectedIndex]}
</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
margin: 10
},
buttonGroup: {
height: 50,
width: 300
},
selectedText: {
fontSize: 18,
marginTop: 10
}
});
这段代码使用了react-native-elements
库中的ButtonGroup
组件来创建一个类似于iOS的Segmented Control的组件。它允许用户在一组按钮中选择一个选项,并在选择发生变化时更新文本显示。这个例子展示了如何在React Native应用中封装和复用UI组件,并处理状态管理。
评论已关闭