首页 > 解决方案 > 如何通过多个输入设置对象数组的状态?

问题描述

我想通过多个输入将所有输入数据添加到大小状态,但我只得到了最后一个输入值

这个结果来了

[{
    id      : 5, 
    key     : "maketomeasure - SHIRT SHOULDER", 
    value   : "15",
    slug    : "maketomeasure - SHIRT SHOULDER",
    name    : "maketomeasure - SHIRT SHOULDER"
}]

这是预期的结果

[
  {
    id      : 5, 
    key     : "maketomeasure - SHIRT SHOULDER", 
    value   : "15", 
    slug    : " maketomeasure - SHIRT SHOULDER",
    name    :"maketomeasure - SHIRT SHOULDER"
  },
  {
    id      : 5, 
    key     : "maketomeasure - SHIRT CHEST", 
    value   : "14", 
    slug    : " maketomeasure - SHIRT CHEST",
    name    :"maketomeasure - SHIRT CHEST"
  }
]

这是我的表格状态

this.state={
    sizes:[]
}

这是我的表格,其中有多个输入

 <TextInput
      style={styles.textStyle}
      placeholder={"Shirt Shoulder"}
      onChangeText={value => this.onChangeValue('maketomeasure - SHIRT SHOULDER', value)}
      defaultValue={this.state.makeToMeasure.shirtShoulder}
        />
  {/* <Text>SHIRT CHEST</Text> */}
  <TextInput
    placeholder="Shirt Chest"
    style={styles.textStyle}
    defaultValue={this.state.makeToMeasure.shirtChest}
    onChangeText={value => this.onChangeValue('maketomeasure - SHIRT CHEST', value)}
  />

这是我的 onchangeText 方法

onChangeValue = (key,value) => {
    var a =5;
    var b=a++ ;

    this.setState(prevState => ({
    ...prevState,
    sizes: {
                ...prevState.sizes,
                key: key,
                value:value,
                name:value,
                id:b,
                slug:key
            }  
    })
    );
};

标签: react-native

解决方案


推荐阅读