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