gpt4 book ai didi

javascript - Reactjs/Semantic Ui 在 map 中添加 if 条件

转载 作者:行者123 更新时间:2023-11-30 13:52:14 24 4
gpt4 key购买 nike

我想要的是在 map 函数中添加 if 条件,但没有成功:

const CityOptions = Data.CityData.map((state, index) => ({
key: index,
text: state.name,
value: state.id,
}));

render(){
return(
<Dropdown
id="City"
search selection
options={CityOptions}
></Dropdown>
}
}

我试过:

 <Dropdown
id="City"
search selection
>
{Data.CityData.map((v,i) => {
if(v.pid === this.state.cityValue){
return (
<option key={i} value={v.id}>{v.name}</option>
)
}
return true
})}
</Dropdown>

错误:

React.Children.only expected to receive a single React element child.

还有:

<Dropdown
id="City"
search selection
options={CityOptions.pid === this.state.cityValue ? CityOptions : null}
/>

结果:

No data

最佳答案

你可以先过滤

Data.CityData.filter(x => x.pid === this.state.cityValue).map((v,i)  =>{
return <option key={i} value={v.id}>{v.name}</option>
})

根据Semantic UI's docs options对象数组,遵循模式{ text: '', value: '' } ,所以你需要像这样传递它

const CityOptions = Data.CityData.filter(x => x.pid === this.state.cityValue).map((v,i)  =>{
return{
key: v.id,
value: v.id,
text: v.text
}
})

关于javascript - Reactjs/Semantic Ui 在 map 中添加 if 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58017998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com