【发布时间】:2021-11-07 08:04:58
【问题描述】:
我试图显示我从之前使用 useSelector 钩子填充的组件的选择选项中选择了哪些值; (不允许使用 React 选择库) 我的问题是第一次选择它时,我返回了一个空数组;当第二次选择时,填充第一个选择的值。每次后续选择,使用前一个操作值填充数组
相关代码如下:
const valueTemp = useSelector((state) => state.temperaments)
const [input, setInput] = useState({
name: "",
height_min: "",
height_max: "",
weight_min: "",
weight_max: "",
life_min: "",
life_max: "",
image: "",
temperament: [],
})
var arrTemps=[];
function showValues(){
for(var i = 0; i < input.temperament.length; i++){
for(var j=0; j < valueTemp.length;j++){
if(parseInt(input.temperament[i])===valueTemp[j].id){
arrTemps.push(valueTemp[j].name)
}
}
}
return arrTemps;
}
var showMe="" ;
function handleSelect(e){
setInput({
...input, temperament:[...input.temperament, e.target.value ]
})
showMe=showValues()
console.log(showMe)
document.getElementById('mostrame').innerText=showMe;
}
<select className={style.orderLarge} onChange={handleSelect}>
<option value="">Temperaments:</option>
{
valueTemp.map((e) => (
<option key={e.id} value={e.id}>{e.name}</option>
))
}
</select>
<div id="mostrame"style={{color:'burlywood'}}>Temperamentos:</div>
非常感谢您的帮助!提前问候!
【问题讨论】:
标签: javascript html reactjs redux state