UNPKG

@uiw/react-native

Version:
57 lines 1.69 kB
import React, { useState } from 'react'; import { View, StyleSheet, Text, TextInput } from 'react-native'; export let containerSize; (function (containerSize) { containerSize[containerSize["small"] = 30] = "small"; containerSize[containerSize["default"] = 36] = "default"; containerSize[containerSize["large"] = 44] = "large"; })(containerSize || (containerSize = {})); export let contentSize; (function (contentSize) { contentSize[contentSize["small"] = 12] = "small"; contentSize[contentSize["default"] = 18] = "default"; contentSize[contentSize["large"] = 26] = "large"; })(contentSize || (contentSize = {})); const MoreDir = props => { const { setCurrent, current } = props; const [jumpCurrent, setJumpCurrent] = useState(1); return <View style={styles.containerStyle}> <Text>跳至</Text> <TextInput keyboardType="numeric" onSubmitEditing={() => { setCurrent(Number(jumpCurrent)); }} onBlur={() => { setCurrent(Number(jumpCurrent)); }} blurOnSubmit={true} onChangeText={text => { let textCurrent = Number(text); if (textCurrent >= current) { setJumpCurrent(current); } else if (textCurrent < current) { setJumpCurrent(textCurrent); } }} style={styles.inputStyle} /> <Text></Text> </View>; }; export const containerStyle = { flexDirection: 'row', justifyContent: 'center', alignItems: 'center', marginLeft: 5 }; export const inputStyle = { height: 27, width: 33, borderColor: 'gray', borderWidth: 0.5, textAlign: 'center', padding: 2, marginHorizontal: 3 }; const styles = StyleSheet.create({ containerStyle, inputStyle }); export default MoreDir;