在 React Native 中输入边框上的文本标签

Juh*_*eja 5 javascript react-native react-hooks

我想创建一个像这样的输入框:

在此输入图像描述

但我是这样设计的,不知道如何在输入边框上添加标签

在此输入图像描述

我的代码是:

<InputBox label="Email" icon={true} keyboardType="email-address" defaultValue={emailId} onChangeText={text => setEmailId(text)} />
Run Code Online (Sandbox Code Playgroud)

输入组件:

    import React from 'react';
import {View, StyleSheet, TextInput, Text} from 'react-native';
import {COLORS} from '../constants/colors';
import {FONT_FAMILY} from '../constants/font-family';

export default function InputBox(props) {
  return (
    <View style={styles.container}>
      <View style={{flex: 1}}>
        <Text style={styles.label}>{props.label}</Text>
        <TextInput
          placeholder={props.placeholder}
          placeholderTextColor="#9F9F9F"
          style={styles.input}
          keyboardType={props.keyboardType}
          secureTextEntry={false}
          defaultValue={props.defaultValue}
          onChangeText={props.onChangeText}
          editable={props.editable}
        />
      </View>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flexDirection: 'row',
    alignItems: 'center',
    marginBottom: 20,
    paddingTop: 7.5,
    paddingHorizontal: 12.5,
    paddingBottom: 2.5,
    borderRadius: 5,
    borderWidth: 0.75,
    borderColor: COLORS.WHITE,
  },
  input: {
    fontFamily: FONT_FAMILY.primaryMedium,
    fontSize: 14,
    height: 37,
    color: COLORS.WHITE,
  },
  label: {
    fontFamily: FONT_FAMILY.primary,
    marginLeft: 5,
    color: COLORS.WHITE,
    fontSize: 12,
    //  marginTop: -30,
  },
});
Run Code Online (Sandbox Code Playgroud)

通过使用react-native-paper,当我添加透明背景颜色时,它看起来像这样:

在此输入图像描述

小智 0

如果您必须使用材质 ui 风格的组件,您可能需要使用reactnativepaper