如何进行编辑功能,以便您可以修改当前值,而不是替换新添加的字母

问题描述 投票:0回答:1

在这种情况下,当我更改文本时,它只会添加一个新字母,然后键入下一个字母,它只会一直替换最新字母。例如,单词hello,无论您键入多少个字母,都只会添加一个字母(例如hellop,hello,hello,hellop)。

link to snippet

const addTodo: AddTodo = newTodo => {
    newTodo.trim() !== "" && setTodos([...todos, { text: newTodo, complete: false, edit: false }]);
  }
    
  
  const getEditText: GetEditText = getEditedTodo => {
    console.log('getEditText ' + getEditedTodo);
  }

  const saveEditedTodo: SaveEditedTodo = currentTodo => {
    console.log('saveEditedTodo ' + JSON.stringify(currentTodo.text));
  }
  
   return (
    <div>
        <input type="input" onChange={(e) => getEditText(e.target.value)} value={todo.text} />
        <span onClick={() => saveEditedTodo(todo)}>Save</span></div> :

    <li>
    )
javascript reactjs typescript
1个回答
1
投票

您没有将新值分配给变量todo.next

您需要更新与输入字段绑定值的变量。因此,请尝试为此类问题创建一个提琴手]

© www.soinside.com 2019 - 2024. All rights reserved.