提问者:小点点

语义UI反应、选择、多,不能设置defaultValue


我有以下几点:

<Dropdown
    placeholder={field[propName].label}
    id={propName}
    fluid
    multiple
    selection
    search
    defaultValue={defaultOptions}
    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?


共1个答案

匿名用户

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

我通常将我的设置为下拉列表的值——使用不可变性JS——当它在Change上切换时。

<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"])}
/>