【发布时间】:2020-04-16 00:56:57
【问题描述】:
我无法为表单内的多选设置默认值。
用例:
我创建了一个反应组件,它使用我在每种形式中需要的一些默认道具呈现一个选择。
现在我想从 select 的 defaultValue 属性中为该选择设置默认值,而不是将 initialValues 传递给每个表单。
我的反应组件看起来像:
import React, { Component } from 'react';
import { Form, Select } from 'antd';
class FormSelect extends Component {
render() {
const {name, label, rules, onSelect, disabled, options, mode} = this.props;
let defaultValue;
if (mode === 'tags' || mode === 'multiple'){
defaultValue = [];
}
return (
<Form.Item
hasFeedback
name={name}
label={label}
rules={rules}
>
<Select
showSearch
mode={mode}
tokenSeparators={[',']}
defaultValue={defaultValue}
onSelect={onSelect}
disabled={disabled}
>
{
options.map((op) => (
<Select.Option key={op.value} value={op.value} label={op.label}>
{op.label}
</Select.Option>
))
}
</Select>
</Form.Item>
);
}
}
export default FormSelect;
问题是当我设置选择的 defaultValue 属性时,该值显示在 UI 中,但是当提交表单时,默认值被忽略并且选择字段的值保持为 undefined
【问题讨论】:
标签: javascript reactjs antd