为了账号安全,请及时绑定邮箱和手机立即绑定

如何更新数组中索引处的字段

如何更新数组中索引处的字段

qq_花开花谢_0 2022-05-22 10:04:28
  function updateFAQ(e, id) {    let newFAQList = [...faqDesc];    console.log(e.target.value);    newFAQList[id].question = e.target.value;    //newFAQList[id].answer = e.target.value;    setfaq(newFAQList);  }function EditFAQ(props) {  return (    <form>      <TextField        name="question"        onChange={e => props.onChange(e, props.id)}        value={props.question}      ></TextField>      <Divider />      <TextField       name="answer"        value={props.answer}        onChange={e => props.onChange(e, props.id)}      ></TextField>      <button> Save Edit </button>    </form>  );}  {        "id": 4,        "question": "question",        "answer": "answer"    },进入  {        "id": 4,        "question": "changed question",        "answer": "answer changed"    },如何在给定索引处更新问答的常见问题解答?我计划有一个表格来更新给定索引处的常见问题解答列表。我想更新类似示例的内容,但我尝试使用 e.target.name 来获取该字段并将其放在 newFAQList[id].e.target.name= e.target.value 旁边但不起作用
查看完整描述

2 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

 function updateFAQ(e, id) {

    setfaqDesc(

      faqDesc.map(faq =>

        faq.id === id ? { ...faq, [e.target.name]: e.target.value } : faq

      )

    );

  }

这会将目标名称设置为目标值 onChange


查看完整回答
反对 回复 2022-05-22
?
四季花海

TA贡献1811条经验 获得超5个赞

我假设你有一些arrayLst数据,你可以做这样的事情:


function updateFAQ( value, desc ) {

  for (var i in arrayLst) {

   if (arrayLst[i].value == value) { // i -> index

     arrayLst[i].desc = desc; // add whatever you want to do.        

  }

 }

}

或者


//let your array be

let arrayLst = [

  {id: 0, name: "Roy"},

  {id: 1, name: "John"},

  {id: 2, name: "Doe"},

  {id: 3, name: "Angela"}

],

    

//Find index of specific object using findIndex method.    

index= arrayLst.findIndex((obj => obj.id == 1));

console.log("Before update: ", arrayLst[index])

arrayLst[index].name = "Paul" //John to Paul

console.log("After update: ", arrayLst[index])


查看完整回答
反对 回复 2022-05-22
  • 2 回答
  • 0 关注
  • 104 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信