I need to insert text at caret (current cursor position) in the React-controlled textarea (like autocomplete).
For vanilla textarea I used this code:
In React 15.6.1
best option is something like that:
class CursorForm extends Component {
constructor(props) {
super(props);
this.state = {value: ''};
}
handleChange = event => {
// Custom set cursor on zero text position in input text field
event.target.selectionStart = 0
event.target.selectionEnd = 0
this.setState({value: event.target.value})
}
render () {
return (
)
}
}
You can get full control of cursor position by event.target.selectionStart
and event.target.selectionEnd
values without any access to real DOM tree.