callstack / react-native-paper

Material Design for React Native (Android & iOS)
https://reactnativepaper.com
MIT License
12.97k stars 2.1k forks source link

TextInput : Text going multiple lines when I unselect it in IOS #4523

Open IsmailParacha opened 1 month ago

IsmailParacha commented 1 month ago

Current behaviour

I am getting an issue in the react native paper Text input component when I add multiline functionality, which means making their value true, then it works fine, but when I make their value false or do not add the multiline key, then when I enter long text and unselect the Textfield the text expand to multiple lines. it only happens in iOS, in Android, it works fine as expected.

Expected behaviour

if i add multiline functionality then they need to show text in multi-lines but when I make the value of multiline false then not need to take and show text in multi-line

Code

import {SafeAreaView, StyleSheet} from 'react-native';
import React, {useState} from 'react';
import {TextInput} from 'react-native-paper';

const App = () => {
  const [surname, setSurName] = useState('');
  const [forename, setForeName] = useState('');

  return (
    <SafeAreaView>
      <TextInput
        style={styles.inputfield}
        value={surname}
        onChangeText={value => setSurName(value)}
        outlineColor={'blue'}
        activeOutlineColor={'black'}
        label={'Surname'}
        placeholder="Enter Surname"
        placeholderTextColor={'grey'}
        mode="outlined"
        multiline={true}
      />
      <TextInput
        style={styles.inputfield}
        value={forename}
        onChangeText={value => setForeName(value)}
        outlineColor={'blue'}
        activeOutlineColor={'black'}
        label={'Forename'}
        placeholder="Enter Forename"
        placeholderTextColor={'grey'}
        mode="outlined"
        multiline={false}
      />
    </SafeAreaView>
  );
};

export default App;
const styles = StyleSheet.create({
  inputfield: {
    marginHorizontal: 20,
    marginVertical: 20,
  },
});

Preview

image

Your Environment

software version
ios 17.2
react-native 0.74.0
react-native-paper ^5.12.5
IsmailJanParacha commented 1 month ago

@seb-zabielski

SyLiz commented 2 weeks ago

Workaround fix: Set contentStyle={{ paddingTop: 12, paddingBottom: 12 }}.

(paddingVertical doesn't work.)

Image

AlexanderBich commented 1 week ago

Didn't help for me, even with this padding still see this issue

AlexanderBich commented 1 week ago

And it seems like all the versions starting from 5.0.0 suffer from it

IsmailJanParacha commented 3 days ago

Workaround fix: Set contentStyle={{ paddingTop: 12, paddingBottom: 12 }}.

(paddingVertical doesn't work.)

Image

working for me