javascript - 如何制作一个可以编辑和保存的函数

标签 javascript reactjs typescript

在这种情况下,当我将待办事项添加到列表中并尝试编辑添加的待办事项时,它只会添加一个新字母,而键入下一个字母时,它只会始终替换最新的字母。例如,单词 hello,无论您输入多少个字母,都只会添加一个字母(例如 hellophellowhellol你好)。检查 console.log 以了解问题。

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>
    )

最佳答案

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

您需要更新输入字段绑定(bind)值的变量。因此,请尝试为此类问题创建一个 fiddler

关于javascript - 如何制作一个可以编辑和保存的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59626503/

相关文章:

javascript - 如何从传播运算符中删除属性?

javascript - 如何设置innerHTML jsx格式

javascript - 如何在 reactjs 拖动事件中隐藏重影图像?

typescript - 引用同一类的组合和聚合 (UML/TypeScript)

javascript - Angular 5 交错动画 - 如何进行倒序

javascript - 如何以安全的方式读写 OData 调用? (比如不容易受到 CSRF 攻击?)

javascript - 排序数组的问题

javascript - this 在 render() 中的一个函数中

javascript - 如何更改 Material UI 字体的颜色?

javascript - PHP 文件未通过 AJAX 调用