How do I make multiline TextInput resize automatically with text updated programatically in React Native? - Stack Overflow

I am trying to implement autoresizing multiline TextInput.I searched the web and asked several chat AI

I am trying to implement autoresizing multiline TextInput.

I searched the web and asked several chat AIs and I got the following code snippet. It works when text is updated by a user with a keyboard.

But it does not work when text is updated programatically by using setText function. How do I make it work as I intended?

import React, { useState } from 'react';
import { View, TextInput } from 'react-native';

const AutoResizingTextInput = () => {
  const [text, setText] = useState('');
  const [height, setHeight] = useState(40);

  return (
    <View>
      <TextInput
        style={{ height: Math.max(40, height) }}
        multiline
        onChangeText={setText}
        value={text}
        onContentSizeChange={(event) => {
          setHeight(event.nativeEvent.contentSize.height);
        }}
      />
    </View>
  );
};

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744745764a4591285.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信