Semantic-UI-React,selection,multi,不能设置defaultValue

Sar*_*ian 5 javascript reactjs semantic-ui semantic-ui-react

我有React组件:

<Dropdown
    placeholder={field[propName].label}
    id={propName}
    fluid
    multiple
    selection
    search
    defaultValue={defaultOptions}
    options={options}
/>
Run Code Online (Sandbox Code Playgroud)

所以optionsdefaultOptions结构数组是一样的{text: 'string, value: 'string'}.

在语义UI源代码中我发现了这个:

/** Initial value or value array if multiple. */
    defaultValue: PropTypes.oneOfType([
      PropTypes.string,
      PropTypes.number,
      PropTypes.arrayOf(PropTypes.oneOfType([
        PropTypes.string,
        PropTypes.number,
      ])),
    ])
Run Code Online (Sandbox Code Playgroud)

这就是我上面的代码给我错误的原因:

`Warning: Failed propType: Invalid prop `defaultValue` supplied to `Dropdown`. Check the render method of `View`.`
Run Code Online (Sandbox Code Playgroud)

那么问题是我应该如何为多选类型的Dropdown设置defaultValue?

Cra*_*123 6

defaultValue 不能是语义 UI 反应的对象。它只能是一个值。http://react.semantic-ui.com/modules/dropdown。如果您查看 defaultValue 的道具,文档会说它可以是字符串、数字或 arrayOf。

我通常将我的设置为下拉列表的值 - 使用 immutabilityJS - 当它打开时。

<Dropdown
    placeholder={field[propName].label}
    id={propName}
    fluid
    multiple
    selection
    search
    defaultValue={dropdownList.get('forWhat')}
    options={options}
    onChange={(e, {value}) => this.updateDropdownList('forWhat',[value:value, text:"works"])}
/>
Run Code Online (Sandbox Code Playgroud)