我有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`.`
那么问题是我应该如何为多选类型的Dropdown设置defaultValue?
答案 0 :(得分:4)
defaultValue不能是语义UI响应的对象。它只能是一个价值。 UriTemplate。如果你看一下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"])}
/>