反应:是否允许嵌套属性?

时间:2018-08-07 17:19:26

标签: reactjs typescript

我正在尝试使用React.js创建一个输入组件,该组件将自行处理验证。但是,我不想掩盖现有的JSX属性,而只是传递它们。

我现在拥有的是:

interface InputValidationRules {
  AllowEmpty: boolean,
  MaxLength?: number,
  MinLength?: number
}

interface InputComponentProps {
  LabelText: string,
  InputConfig: React.InputHTMLAttributes<HTMLInputElement>,
  InputRules: InputValidationRules
};

const InputComponent = (props: InputComponentProps) => {
  return (
    <div>
      <label>{props.LabelText}</label>
      <input {...props.InputConfig} />
    </div>
  );
};

我的问题是:现在我不知道如何创建InputComponent。
理想的情况是:

<InputComponent
    LabelText="Hello"
    InputConfig={
      placeholder="World"
      disabled="true"
    }
    InputRules={
      AllowEmpty={false}
      MaxLength={12}
    }
/>

如果您对我的实现方法有更好的选择,那么我会开放的。给我指明正确的方向。
谢谢您的时间。

0 个答案:

没有答案