我使用 Material UI 进行多重选择。这是我的代码。
<TextField
classes={{ root: classes.root }}
select
name="states"
id="states"
fullWidth
label="states where you want to work"
SelectProps={{
multiple: true,
value: states.states,
onChange: handleFieldChange
}}
>
{listStates.map(col => (
<MenuItem selected classes={{ selected: classes.selected }} key={col} value={col}>
<Checkbox checked={states.states.indexOf(col) > -1} />
<ListItemText primary={col} />
</MenuItem>
))}
</TextField>
这是 handleFieldChange 函数:
const handleFieldChange = event => {
event.persist();
setStates(states => ({
...states,
[event.target.name]:
event.target.type === "checkbox"
? event.target.checked
: event.target.value
}));
};
这是状态数组:
const listStates = [ "Aguascalientes", "Baja California", "Baja California Sur", "Campeche", "CDMX", "Coahuila de Zaragoza", "Colima", "Chiapas", "Chihuahua", "Durango", "Guanajuato", "Guerrero", "Hidalgo", "Jalisco", "EDOMEX", "Michoacán de Ocampo", "Morelos", "Nayarit", "Nuevo León", "Oaxaca", "Puebla", "Querétaro", "Quintana Roo", "San Luis Potosí", "Sinaloa", "Sonora", "Tabasco", "Tamaulipas", "Tlaxcala", "Veracruz de Ignacio de la Llave", "Yucatán", "Zacatecas"];
一切正常,值正确保存在 useState 中,但在屏幕上我看不到我选择的值,我只看到 [object Object]、[object Object]。
你知道为什么会这样吗??