React Widgets + Redux-Form可编辑下拉菜单

时间:2018-10-31 10:28:33

标签: javascript reactjs redux redux-form react-widgets

我正在使用Redux表单并提取数据以初始化我的多选(下拉)框。这是来自redux-form站点的示例-https://redux-form.com/6.0.0-rc.1/examples/react-widgets/,他们使用react-widgets作为附件。

该示例允许您选择喜欢的颜色,并将列出可用的选择。这是此示例的代码框-https://codesandbox.io/s/7z5q82np51

如果我不想选择预先填充的值,我希望能够在框中添加自己的选项/值。关于stackoverflow有一个重复/类似的问题-Editable combo box in Redux-Form,但我无法解决该问题,因此,请不要再考虑它的相关性(也许是旧版本)。

如果有人可以看到它是如何完成的,或者可以看到建议的解决方案并使它在我的codeandbox示例中起作用?任何具有redux-form的解决方案都可以通过多种选择来获得理想的结果,这些选择也可以编辑以创建自己的价值。

import React from 'react'
import { Field, reduxForm } from 'redux-form'
import DropdownList from 'react-widgets/lib/DropdownList'
import SelectList from 'react-widgets/lib/SelectList'
import Multiselect from 'react-widgets/lib/Multiselect'
import 'react-widgets/dist/css/react-widgets.css'

const colors = [{ color: 'Red', value: 'ff0000' },
{ color: 'Green', value: '00ff00' },
{ color: 'Blue', value: '0000ff' }]

const MaterialUiForm = props => {
  const { handleSubmit, pristine, reset, submitting } = props
  return (
    <form onSubmit={handleSubmit}>
      <div>
        <label>Favorite Color</label>
        <Field
          name="favoriteColor"
          component={DropdownList}
          data={colors}
          valueField="value"
          textField="color" />
      </div>
      <div>
        <button type="submit" disabled={pristine || submitting}>Submit</button>
      </div>
    </form>
  )
}

export default reduxForm({
  form: "MaterialUiForm", // a unique identifier for this form
})(MaterialUiForm);

1 个答案:

答案 0 :(得分:-1)

https://codesandbox.io/s/2vmmkmomk0

使用react-select and the creatable组件,我可以将两者合并。