@uiw/react-native
Version:
UIW for React Native
67 lines • 1.99 kB
JavaScript
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;