我有一个map函数,每个元素都有一个由Select组件呈现的数组。问题在于该值未更新和显示。我正在根据地图中每个元素的名称动态处理状态。
这是调用此函数this.showCheckBox(i)的映射,其内部具有Select。
这是地图上每个元素的方式。在Select中,我使用[“ adicionais”]
中的数组adicionais: Array(3)
0: {id: 6, nome: "MAL PASSADO", preco: 0, tamanhos: Array(7), imagem: {…}}
1: {id: 8, nome: "BEM PASSADO", preco: 0, tamanhos: Array(7), imagem: {…}}
2: {id: 7, nome: "AO PONTO", preco: 0, tamanhos: Array(8), imagem: {…}}
id: 3
nome: "PONTO DA CARNE"
这是调用此函数this.showCheckBox(i)的映射,其内部具有Select。
ingredientes.map((i) => {
if(i["quantidade-minima"] == 1 && i["quantidade-maxima"] == 1){
return(
<div key={i.id}>
<div className="Name-adicional-qtdToSet-container">
<a>{i["grupo-adicional"]["nome"]}</a>
{this.showCheckBox(i)}
</div>
</div>
)
}
handle = name => e => {
console.log(e);
console.log(name);
console.log(this.state.value);
this.setState({[name]: e.label});
}
showCheckBox(adicional) {
var opcoes = []
var nameA = adicional.nome
adicional["adicionais"].map((a) => {
opcoes.push({ value: a.id, label:a.nome });
})
console.log(opcoes);
return (
<Select
className="Select-class"
options={opcoes}
name={nameA}
value={this.state[name]}
onChange={this.handle(nameA)}
placeholder="Selecione"
isSearchable={false}
)
}
我在console.logs上看到状态正在更新,但是未在组件上显示