假設(shè)我有一個輸入字段:<input type="text" value={this.state.title} />現(xiàn)在它有一個值,例如“早上好!”。我想要做的是能夠在輸入字段中的任何位置單擊特定按鈕時將一些預(yù)定義的文本插入到輸入字段中。例如,當(dāng)我單擊"[First Name]"/"[LastName]"按鈕時,輸入字段的值可以變?yōu)椋纭霸缟虾?[名字]”。我可以通過獲取焦點(diǎn)輸入,將其分配給狀態(tài),然后使用它來知道要更改狀態(tài)中的哪個鍵,從而在當(dāng)前文本的末尾添加:addCodeText(value) { const { currFocusedInput } = this.state; this.setState({ [currFocusedInput]: `${ this.state[currFocusedInput] } [${value}]`, }); }但是,正如我所提到的,這只會添加到文本的末尾。我希望能夠直接插入輸入標(biāo)簽/元素而不是更改狀態(tài),以便我可以選擇插入的位置(無論如何,輸入元素是受控輸入)。我的意思是我可以將光標(biāo)放在“早上好”前面的輸入字段中,當(dāng)我單擊按鈕時,結(jié)果值將是“[名字],早上好!”。在我當(dāng)前的示例中,它總是附加在字符串值的末尾。我該怎么做?
在 React 中單擊按鈕時,如何直接在輸入字段中的任意位置插入文本?
阿晨1998
2021-06-10 18:57:43
