我在将 multiselect
与 final-form
一起使用时收到此错误。
Dropdown
value
must be an array whenmultiple
is set. Received type:[object String]
这是我的代码:
https://codesandbox.io/s/cool-torvalds-lhe9d
<Dropdown
{...props.input}
clearable
fluid
multiple
search
onChange={(e, data) => {
return data.value.length > 0
? input.onChange(data.value)
: input.onChange("");
}}
onSearchChange={onSearchChange}
selection
defaultValue={[]}
options={data}
placeholder="Select values"
/>
有更新吗?
最佳答案
如果 Dropdown 组件无法使用 value,则需要删除 defaultValue 属性并将 value 属性传递为 []。
const SingleSelectAutoComplete = props => {
const renderError = ({ error, touched }, id) => {
if (touched && error) {
return <div id={id}>{error}</div>;
}
};
const {
input,
label,
onSearchChange,
data,
meta,
required,
onChange,
helloWorld
} = props;
console.log("***********************");
let { value, ...restProps } = props.input;
const id = input.name;
return (
<div
className={`field ${meta.error && meta.touched ? " error" : ""} ${
required ? " required" : ""
}`}
>
<label>{label}</label>
<Dropdown
{...restProps}
value={value || []}
clearable
fluid
multiple
search
onChange={(e, data) => {
return data.value.length > 0
? input.onChange(data.value)
: input.onChange("");
}}
onSearchChange={onSearchChange}
selection
options={data}
placeholder="Select values"
/>
{renderError(meta, `${id}-error-text`)}
</div>
);
};
关于javascript - 设置 `value` 时出现错误 Dropdown `multiple` 必须是一个数组。收到类型: `[object String]` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57643805/