5

我们的应用中有一个 React Native TextInput 组件。使用虚拟键盘,按回车键创建一个新行。如果我们使用硬件键盘(使用 USB OTG 适配器连接到 Android 6 平板电脑),Enter 键(键盘中间的大键盘)不会更改文本,TextInput 只会失去焦点。Return 键(普通键盘右侧较小的那个)创建一个新行。

TextInput 的设置非常基本:

<TextInput multiline={true} />

我为 returnKeyType 属性尝试了不同的值,但它们都没有创建新行。我错过了什么吗?

4

4 回答 4

8

别客气:blurOnSubmit={true}

于 2019-08-28T23:09:29.547 回答
3

我遇到了同样的问题,但以下对我有用:

returnKeyType='none'
于 2017-10-26T12:07:14.363 回答
1
<TextInput 
    value={activity}
    onChangeText={setActivity}
    numberOfLines={5}
    multiline={true}
    style={styles.TextInput}
    placeholder={"Start your activity"}
    keyboardType="name-phone-pad"
/>

这对我有用

于 2021-06-26T17:43:08.477 回答
0

试试看!它也适用于生产线的中间!

<TextInput
                  placeholder={I18n.t('enterContactQuery')}

                  value={this.state.query}
                  onChangeText={text => this.setState({ query: text, allowEditing: true })}

                  selection = {this.state.selection}
                  onSelectionChange={(event) => this.setState({ cursorPosition: event.nativeEvent.selection, selection: event.nativeEvent.selection, allowEditing: true })}
                  onSubmitEditing={() => {
                    const { query, cursorPosition } = this.state;
                    let newText = query;
                    const ar = newText.split('');
                    ar.splice(cursorPosition.start, 0, '\n');
                    newText = ar.join('');
                    if (cursorPosition.start === query.length && query.endsWith('\n')) {
                      this.setState({ query: newText });
                    } else if (this.state.allowEditing) {
                      this.setState({
                        query: newText,
                        selection: {
                          start: cursorPosition.start + 1,
                          end: cursorPosition.end + 1
                        },
                        allowEditing: !this.state.allowEditing
                      });
                    }
                  }}
                  multiline = {true}
                  numberOfLines = {10}
                  blurOnSubmit={false}
                  editable={true}
                  // clearButtonMode="while-editing"
                />

constructor(props) {
super(props);
this.state = {
  query: '',
  cursorPosition: [0,0],
  selection: null,
  allowEditing: true
}

}

于 2017-11-06T09:56:24.647 回答