UNPKG

@uiw/react-native

Version:
67 lines 1.99 kB
import React, { useState } from 'react'; import { View, StyleSheet, TextInput } from 'react-native'; import { useTheme } from '@shopify/restyle'; import Text from '../Typography/Text'; export let containerSize = /*#__PURE__*/function (containerSize) { containerSize[containerSize["small"] = 30] = "small"; containerSize[containerSize["default"] = 36] = "default"; containerSize[containerSize["large"] = 44] = "large"; return containerSize; }({}); export let contentSize = /*#__PURE__*/function (contentSize) { contentSize[contentSize["small"] = 12] = "small"; contentSize[contentSize["default"] = 18] = "default"; contentSize[contentSize["large"] = 26] = "large"; return contentSize; }({}); const MoreDir = props => { const theme = useTheme(); const styles = createStyles({ boxColor: theme.colors.primary_background || '#3578e5' }); 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, { color: theme.colors.text || '#000' }]} /> <Text></Text> </View>; }; function createStyles({ boxColor }) { return StyleSheet.create({ containerStyle: { flexDirection: 'row', justifyContent: 'center', alignItems: 'center', marginLeft: 5 }, inputStyle: { height: 27, width: 33, borderColor: boxColor, borderWidth: 0.5, textAlign: 'center', padding: 2, marginHorizontal: 3 } }); } export default MoreDir;