代码之家  ›  专栏  ›  技术社区  ›  Taweerat Chaiman

使用单独组件创建自定义引用输入时出错

  •  0
  • Taweerat Chaiman  · 技术社区  · 7 年前

    我正在尝试创建ReferenceInput,其中包含SelectInput。

    enter image description here

    然而,我想将其分离到另一个组件中,并将数据作为道具传递。我是这样做的。 enter image description here

    enter image description here

    当我运行它时,会发生此错误 enter image description here

    https://github.com/marmelab/admin-on-rest/blob/49a616c93d1ee5ea0bfa3c5f7abea0bb29c8d01c/src/mui/input/ReferenceInput.js#L243

    我做错了什么?

    谢谢

    1 回复  |  直到 7 年前
        1
  •  2
  •   kunal pareek    7 年前

    如果您想创建子对象,那么需要执行以下操作。这是我的应用程序中的代码,但我相信您会看到模式。

    const TaleGenreInput = ({style, text, ...props}) => {
      return (
        <div style={style.container} >
          <span style={style.span}>{text}:&nbsp;</span>
          <ReferenceInput {...props} reference="genres" >
            <GenreInputGroup {...props} style={style} elStyle={style.elStyle} optionText='name' />
          </ReferenceInput>
        </div>
      )
    }
    
    const GenreInputGroup = ({style, elStyle, optionText, ...rest}) => {
      return (
        <div>
          <SelectInput {...rest} style={style.dropdown} elStyle={style.dropDownElStyle} optionText='name' allowEmpty />
          <SelectInput {...rest} style={style.dropdown} elStyle={style.dropDownElStyle} optionText='name' allowEmpty />
        </div>
      )
    }
    

    {…rest}确保从父级传递的所有道具都进入SelectInput。您还可以通过控制台记录其值来查看其包含的所有内容。对调试有很大帮助。