constructor(props) {
super(props);
this.state = {
answers: props.element.answers_data.map((answer, index) => {
return answer;
}
})
<TextInput
value = {this.state.answers[index].answer_text}
onChangeText={(answer_text) => {
this.setState({
answers: [
...this.state.answers.slice(0, index),
{answer: {answer_text}},
...this.state.answers.slice(index + 1,
this.state.answers.length)
]
});
}}
/>
我的答案数据结构是喜欢= 0:{id:799,anding_text:" helloas fast"百分比:0}
我想更新答案文本并将其存储在this.state.sandwers中,但是当我在textInput上写文本并更新它时,我只会在哈希中获得wherme_text,我想要所有ID,答案_text,hash中的百分比。所以,请我需要建议。
预先感谢。
您无法很好地处理数组数据。您可以保持其结构,也可以使用answers_data.map
将它们转换为字符串。
选项的完整代码:
constructor(props) {
super(props);
this.state = {
answers: props.element.answers_data.map((answer, index) => {
return { ...answer };
})
}
}
<TextInput
value = {this.state.answers[index].answer_text}
onChangeText={(answer_text) => {
this.setState({
answers: [
...this.state.answers.slice(0, index),
{ ...this.state.answers[index], answer_text },
...this.state.answers.slice(index + 1, this.state.answers.length)
]
});
}}
/>
选项二的完整代码:
constructor(props) {
super(props);
this.state = {
answers: props.element.answers_data.map((answer, index) => {
return answer.answer_text;
})
}
}
<TextInput
value = {this.state.answers[index]}
onChangeText={(answer_text) => {
this.setState({
answers: [
...this.state.answers.slice(0, index),
answer_text,
...this.state.answers.slice(index + 1, this.state.answers.length)
]
});
}}
/>