Semantic-UI-React, selection, multi, 无法设置defaultValue
Semantic-UI-React, selection, multi, can't set defaultValue
我有 React 组件:
<Dropdown
placeholder={field[propName].label}
id={propName}
fluid
multiple
selection
search
defaultValue={defaultOptions}
options={options}
/>
所以options
和defaultOptions
是同一个结构数组{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,
])),
])
上面的代码给我错误的原因:
`Warning: Failed propType: Invalid prop `defaultValue` supplied to `Dropdown`. Check the render method of `View`.`
所以问题是我应该如何为下拉列表的多选类型设置默认值?
defaultValue 不能是语义-UI-react 的对象。它只能是一个值。 http://react.semantic-ui.com/modules/dropdown。如果您查看 defaultValue 的属性,文档会说它可以是字符串、数字或 arrayOf。
我通常将我的值设置为下拉列表的值 - 使用 immutabilityJS - 当它打开 onChange 时。
<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"])}
/>
我有 React 组件:
<Dropdown
placeholder={field[propName].label}
id={propName}
fluid
multiple
selection
search
defaultValue={defaultOptions}
options={options}
/>
所以options
和defaultOptions
是同一个结构数组{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,
])),
])
上面的代码给我错误的原因:
`Warning: Failed propType: Invalid prop `defaultValue` supplied to `Dropdown`. Check the render method of `View`.`
所以问题是我应该如何为下拉列表的多选类型设置默认值?
defaultValue 不能是语义-UI-react 的对象。它只能是一个值。 http://react.semantic-ui.com/modules/dropdown。如果您查看 defaultValue 的属性,文档会说它可以是字符串、数字或 arrayOf。
我通常将我的值设置为下拉列表的值 - 使用 immutabilityJS - 当它打开 onChange 时。
<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"])}
/>