1

Предположим, что это компонентПолучить выделенный текст из текстового ввода

class Wysiwyg extends Component { 
    constructor(props) { 
     super(props); 
    } 
    render() { 
     return(
      <View> 
       <TextInput placeholder="Type here" /> 
      </View> 
     ) 
    }  
} 

AppRegistry.registerComponent('AwesomeProject',() => Wysiwyg) 

И я напечатал: «Большие карие глаза»

Теперь, если я выбрал «Большой» из текстового ввода. Как получить выбранное значение ввода текста, чтобы я мог изменить «Большой» на Большой жирным шрифтом при нажатии кнопки.

ответ

1

Вы можете сделать это, используя OnSelectionChange и onChangeText реквизита из TextInput:

export default class TextSelectionTest extends Component { 

    state = { 
    selection: [0,0], 
    text: '' 
    }; 

    render() { 
    const {selection: [start, end], text} = this.state; 
    const selected = text.substring(start, end); 
    return (
     <View> 
     <TextInput value={text} onSelectionChange={this.onSelectionChange} 
        onChangeText={text => this.setState({text})}/> 
     <Text>{`Selected chars ${start}-${end}: ${selected}`}</Text> 
     </View> 
    ); 
    } 

    onSelectionChange = event => { 
    const selection = event.nativeEvent.selection; 
    this.setState({ 
     selection: [selection.start, selection.end] 
    }); 
    }; 
} 

Что касается решений выбора полужирный, я думаю, что реагировать родной TextInput в настоящее время не имеет богатые возможности текстового редактора, так что это не возможно ,

+0

Я скоро проверю и вернусь к вам. Спасибо. – Kakar

 Смежные вопросы

  • Нет связанных вопросов^_^