首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多选择[对象对象],[对象对象]

多选择[对象对象],[对象对象]
EN

Stack Overflow用户
提问于 2020-08-15 00:00:59
回答 1查看 2K关注 0票数 5

我正在使用资料用户界面进行多重选择。这是我的密码。

代码语言:javascript
复制
  <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函数:

代码语言:javascript
复制
  const handleFieldChange = event => {
      event.persist();
      setStates(states => ({
        ...states,
        [event.target.name]:
          event.target.type === "checkbox"
            ? event.target.checked
            : event.target.value
      }));
    };

以下是一系列国家:

代码语言:javascript
复制
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中是正确的,但是在屏幕上我没有看到我选择的值,我只看到对象对象,对象对象。

你知道为什么会发生这种事吗?

问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-15 01:06:15

问题似乎是缺少道具renderValue。值是所选值的列表,但renderValue函数给出了实际的呈现逻辑。通过这个额外的道具,它应该工作得很好。

根据官方文件

renderValue是function(value: any) => ReactNode,其中的值--提供给组件的值。

样本代码:

代码语言:javascript
复制
SelectProps={{
  multiple: true,
  value: states.states,
  onChange: handleFieldChange,
  renderValue: (data) => <div>{data.join(", ")}</div>
}}

希望能帮上忙。回复任何疑问/澄清。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63421357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档