【问题标题】:How to update value in array of objects when onchange text is called (in flat list)调用 onchange 文本时如何更新对象数组中的值(在平面列表中)
【发布时间】:2020-01-27 09:15:57
【问题描述】:

有状态值

savedData: [
  { key: 'First Name', value: '' },
  { key: 'Last Name', value: '' },
  { key: 'Mobile', value: '' },
  { key: 'Email', value: '' },
  { key: 'Password', value: '' },
  { key: 'Forgot Password', value: '' },
  { key: 'CheckBox1', value: '' },
]

文本输入在一个平面列表中,每个文本输入都在每个单元格中呈现。 当onChange 的文本输入被调用时,如何通过索引更新数组中的值,使用状态变量或全局变量?

【问题讨论】:

    标签: javascript arrays react-native


    【解决方案1】:

    您可以将key 作为onChange 方法的参数传递

    onChange={() => this.handleChange("First Name")}
    

    然后只更新值。

    let field = savedDate.find(({key}) => key == key_param);
    field.value = ...
    

    我建议使用字段的 id 作为 savedData 的键 state,只需将 event.target.id 作为参数传递。

    savedData:[
        {key:'firstName',value:''},
        {key:'lastName',value:''},
        {key:'mobile',value:''},
        {key:'email',value:''},
        {key:'password',value:''},
        {key:'forgot Password',value:''},
        {key:'checkBox1',value:''},
     ]
    
     ...............
    
     onChange={(e) => this.handleChange(e.target.id)}
    

    【讨论】:

      猜你喜欢
      • 2021-05-18
      • 2019-09-23
      • 2019-03-18
      • 1970-01-01
      • 2022-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      相关资源
      最近更新 更多