我正在使用 react ref 设置 textarea 的 selectionRange ,但这与 react "way" 相矛盾。
裁判工作完美。
我想使用状态设置 textarea 的 selectionRange,而不是参考(就像在这个代码片段中一样)
import React, { Component } from 'react';
export default class App extends Component {
constructor() {
super();
this.state = {
value:"some placeholder text",
}
this.textareaRef = React.createRef();
}
handleChange=({ target : { value : text } })=>{
this.setState({value : text});
};
componentDidMount(){
// setting the cursor position to the end of text on mount .
const textareaObj = textareaRef.current;
const cursor_pos = this.state.value.length;
textareaObj.setSelectionRange(cursor_pos , cursor_pos );
textareaObj.focus();
}
render(){
return (
<textarea
value={this.state.value}
onChange={this.handleChange}
ref={textareaRef}>
</textarea>
);
}
}