React'a yakın parantezleri otomatik olarak ekleyen bir textarea uygulamaya çalışıyorum, ancak textarea'nın değer özelliğini değiştirdiğimde, imleç düzenlenmekte olan metnin sonuna atlar.Textarea metin değiştirmede imleç konumu nasıl korunur?
İşte benim onChange fonksiyonu var:
//on change
function(event) {
var newText = event.target.value
var cursorPosition = getCursorPosition(event.target)
if(lastCharacterWasParen(newText, cursorPosition)){
newText = newText.slice(0, cursorPosition) + ')' + newText.slice(cursorPosition)
}
this.setProps({text: newText}})
}
Bu başarıyla paren ekler ama nasıl imleç konumunu korumak mı?
'selectionStart' ve' selectionEnd' kesinlikle gitmek için yoludur ama textarea'da özel seçim olmadığından emin olmalısın. – borisano
@borisano yup, haklısın, sadece düşünüyorum. İşlemden sonra hiçbir şey seçilmemesi gerekiyorsa, selectionStart = selectionEnd seçimini yapın. Paren ile çevrili bir şey seçmek istiyorsanız, buna göre değiştirin. Ve ayrıca, selectionStart> selectionEnd ise ... ... ne olacağından emin değilsiniz. – Surely