首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >react-final-form with multiple select

react-final-form with multiple select
EN

Stack Overflow用户
提问于 2019-06-11 18:06:21
回答 2查看 3.8K关注 0票数 1

我正在尝试使用react-final-form构建一个具有多值Select component by Material-UI的表单。使用single Select时,我可以获得值,但使用multiple时,我无法获得值。

这里有一个来自Material-UI的指导链接,用于构建多选:

https://codesandbox.io/s/sr6pf

我试图在我的表单中复制第一个示例(没有使用react钩子),但我仍然遗漏了一些东西?

https://codesandbox.io/embed/react-final-form-material-ui-example-jfmoe

我应该向我的组件添加什么才能使其正常工作?

谢谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-18 12:41:09

出于某些原因,我设法为我自己的问题找到了解决方案。正确的答案是创建一个自定义的MultiSelect组件,而不是重用final-form-material-ui中的组件。

注意:我试着从final-form-material-ui中使用<Select />,但是将multiple属性添加到组件将不会被传递,这很奇怪。

所以,我的自定义组件应该看起来像这样,几乎与添加了multiple属性的their github中的组件相似。

代码语言:javascript
复制
import React from 'react';
import FormControl from '@material-ui/core/FormControl';
import FormHelperText from '@material-ui/core/FormHelperText';
import InputLabel from '@material-ui/core/InputLabel';
import Select from '@material-ui/core/Select';

function SelectMulti({
  input: { name, value, onChange, ...restInput },
  meta,
  label,
  formControlProps,
  ...rest
}) {
  const showError =
    ((meta.submitError && !meta.dirtySinceLastSubmit) || meta.error) &&
    meta.touched;

  return (
    <FormControl {...formControlProps} error={showError}>
      <InputLabel htmlFor={name} shrink>
        {label}
      </InputLabel>
      <Select
        {...rest}
        multiple
        name={name}
        value={value}
        onChange={onChange}
        inputProps={restInput}
      />
      {showError && (
        <FormHelperText>{meta.error || meta.submitError}</FormHelperText>
      )}
    </FormControl>
  );
}

SelectMulti.propTypes = {};

export default SelectMulti;

希望这能在未来对某人有所帮助

票数 2
EN

Stack Overflow用户

发布于 2020-01-02 22:38:50

我可以通过这样设置fomat来解决这个问题

代码语言:javascript
复制
<Field
 name="concepts"
 component={Select}
 displayEmpty={trie}
 multiple={true}
 value={[]}
 format={value => value || []}
 />

根据https://github.com/erikras/redux-form-material-ui/issues/212#issuecomment-358376925

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56541316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档