如何在react-select中设置helperText

gos*_*kan 2 reactjs react-select material-ui

我正在使用react-selectTextField Material-UI。是否有可能设置helperText(组件下方的小文本),react-select就像它是在其中制造的一样TextField

提前感谢您的帮助。

PS 我不认为我的问题是这个问题的重复。另一篇文章是关于如何自定义作为 react-select 一部分的组件,我想添加一个 react-select 没有的选项。

Rya*_*ell 7

TextField主要是围绕几个低级组件的便利包装,包括FormHelperText.

这是 Material-UI 文档中使用 react-select 的自动完成演示:https : //material-ui.com/demos/autocomplete/#react-select

这是该演示的修改版本FormHelperTexthttps : //codesandbox.io/s/rynvn8po5p

这是该代码的相关片段:

          <Select
            classes={classes}
            styles={selectStyles}
            options={suggestions}
            components={components}
            value={this.state.single}
            onChange={this.handleChange("single")}
            placeholder="Search a country (start with a)"
            isClearable
          />
          <FormHelperText>Here's my helper text</FormHelperText>
Run Code Online (Sandbox Code Playgroud)

Select 的 Material-UI 演示还展示了许多FormHelperText不使用使用的示例TextFieldhttps : //material-ui.com/demos/selects/#simple-select

这里是 API 文档FormHelperTexthttps : //material-ui.com/api/form-helper-text/


Pet*_*uzs 6

你的意思是占位符?我认为你可以这样设置:

const MyComponent = () => (
  <Select placeholder="Select..." options={options} />
)
Run Code Online (Sandbox Code Playgroud)

但是,如果您想要相同的外观,为什么要使用来自不同库的控件。我认为您可以将 FormHelperText 与Select from Material-Ui 一起使用。所以你不妨用这个 select 而不是 react-select。

<FormControl className={classes.formControl}>
  <InputLabel shrink htmlFor="age-native-label-placeholder">
    Age
  </InputLabel>
  <NativeSelect
    value={this.state.age}
    onChange={this.handleChange('age')}
    input={<Input name="age" id="age-native-label-placeholder" />}
  >
    <option value="">None</option>
    <option value={10}>Ten</option>
    <option value={20}>Twenty</option>
    <option value={30}>Thirty</option>
  </NativeSelect>
  <FormHelperText>Label + placeholder</FormHelperText>
</FormControl>
Run Code Online (Sandbox Code Playgroud)