Appending MenuItems to Material-UI Select Input in React

Viewed 472

So I'm not great with react or even javascript, but what I'm trying to do is take this react element:

  const selectItem = (
       <Select defaultValue="" id="type-select" label="Type">
        <MenuItem value="">
        <em>None</em>
      </MenuItem>
      </Select>
    )

and append both subheader items and MenuItems from this:

  Object.keys(greatSet).forEach(o => {
    let subHeader = React.createElement('ListSubHeader',{class:'grouped-stuff'},o)
    selectItem.appendChild(subHeader)
    greatSet[o].forEach(option => {
      let menuItem = React.createElement('MenuItem',{value: option.id}, option.name)
      selectItem.appendChild(menuItem)
    })
  })

greatSet an object with key: array of objects, if that isn't clear.

What I want is similar to this:

 <Select defaultValue="" id="grouped-select">
  <MenuItem value="">
    <em>None</em>
  </MenuItem>
  <ListSubheader>Category 1</ListSubheader>
    <MenuItem value={1}>Option 1</MenuItem>
    <MenuItem value={2}>Option 2</MenuItem>
  <ListSubheader>Category 2</ListSubheader>
    <MenuItem value={3}>Option 3</MenuItem>
    <MenuItem value={4}>Option 4</MenuItem>
</Select>

What is the best way to do this?

0 Answers
Related