2017-12-31 31 views
-1

동적 속성을 사용하여 양식을 작성하지 못했습니다. 나중에 양식을 정상화 할 수 있지만 또 다른 추가 기능을 수행하지는 말고 onChange 메소드 내에서 수행 할 수 있기 때문에 시도 할 수 있습니다.setState를 사용하여 onChange 이벤트에 대한 개체의 배열을 구성합니다.

// 욕망 출력

formData: { 
    name: 'alice', 
    addresses: [{ 
    address_id: 1, address: 'UK' 
    }, { 
    address_id: 2, address: 'USA' 
    }] 
} 

나는 stucked입니다.

https://codesandbox.io/s/l528yw35x9

+0

그럼 뭐가 문제입니까? –

+0

@AlexanderElgin 2 웨이 바인딩 –

+0

[**이 작업 코드 ** 확인] (https://codesandbox.io/s/rrjwmlky7o)을 통해 * 원하는 출력을 생성하고 개체에 주소를 저장 한 다음 변경하는 것이 좋습니다. api를 치기 전에 형식, 그것은 개체와 데이터를 관리하기 쉽습니다. –

답변

0

문제에 대한 간단한 솔루션은이 같은 주소의 요소를 매핑 할 수 있습니다 의 onChange 방법으로 지금이

this.state = { 
    formData: {addresses:[ 
    { 
     address_id: 1, address: 'UK' 
    }, { 
     address_id: 2, address: 'USA' 
    } 
    ]} 
} 

처럼 폼 데이터의 주소 배열을 초기화하는 것입니다

else{ 
    //{address_id: inputId, address: value} 
    this.setState({ 
    formData: { 
     ...this.state.formData, addresses: 
     this.state.formData.addresses.map(e=>{ 
     return e.address_id == inputId ? 
      { address_id: inputId,address:value} : e 
     }), 

     } 
    }) 
} 

아래의 전체 예제를 참조하십시오. https://codesandbox.io/s/0omj21nrpv