如何解决无法在“选择”中显示任何值的错误,我可以单击并获取最后一个对象

时间:2019-03-29 13:21:20

标签: reactjs material-ui menuitem

更新
找不到真正的解决方案。通过使用上下文来发送信息而不是通过组件发送所有信息来解决。


我在“选择”中列出了以表格形式显示的项目列表。但是Select不会显示其中任何一个。如果我单击列表,它将在“选择”框中显示最后一个值。

我尝试在一个干净的reactjs脚本中重建它,并且运行得很好。可能是我忘记了我无法弄清楚的东西。

我使用了Material-ui网站上的虚拟版本,但遇到相同的错误。
我还尝试构建仅模板形式的干净版本,并且运行良好。所以代码应该是正确的。

<FormControl>
    <InputLabel htmlFor="listOfInformation">
         List of Information
    </InputLabel>
    <Select
         value={listOfInformation}
         name='List of Information'
         onChange={this.handleChange('listOfInformation')}
    >
         {categories.map(category => 
              <MenuItem 
                   open={open} 
                   key={category} 
                   value={category}
              >
                   {category}
                   {console.log("Test ", category)}
              </MenuItem>
         )}
    </Select>
</FormControl>

这位于我的表格内。我的表单还具有可以正常工作的TextFields。我已经在App.js中调用了该组件,以确保之前没有做任何错误,它有相同的错误。

弹出窗口显示很好。它应该显示整个信息列表

1 个答案:

答案 0 :(得分:0)

我不知道发生了什么。我认为在通过组件发送值时如何处理值存在一些错误(嵌套4层)。我已将处理方式改为使用上下文。这样就解决了这个错误。我认为这不是在获取正确的价值。

对我来说,解决方案是使用上下文代替来处理我的所有值。我之所以使用此解决方案,是因为我认为Redux或类似的解决方案可以解决很多问题,但由于我正在传递大量信息,因此需要使用上下文。