Javascript 表格antd 4中多个选择的默认值
我无法为multi-select inside窗体设置默认值 用例: 我已经创建了一个react组件,该组件使用我在每个表单中需要的一些默认道具呈现select。 现在,我想从select的Javascript 表格antd 4中多个选择的默认值,javascript,reactjs,antd,Javascript,Reactjs,Antd,我无法为multi-select inside窗体设置默认值 用例: 我已经创建了一个react组件,该组件使用我在每个表单中需要的一些默认道具呈现select。 现在,我想从select的defaultValueprop设置该select的默认值,而不是将initialValues传递给每个表单 我的react组件看起来像: import React, { Component } from 'react'; import { Form, Select } from 'antd'; class
defaultValue
prop设置该select的默认值,而不是将initialValues
传递给每个表单
我的react组件看起来像:
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;
import React,{Component}来自'React';
从'antd'导入{Form,Select};
类FormSelect扩展组件{
render(){
const{name,label,rules,onSelect,disabled,options,mode}=this.props;
让默认值;
如果(模式=='tags'| |模式=='multiple'){
defaultValue=[];
}
返回(
{
options.map((op)=>(
{op.label}
))
}
);
}
}
导出默认表单选择;
问题是,当我设置了选择值的
defaultValue
属性时,该值会显示在UI中,但当提交表单时,默认值会被忽略,并且选择字段的值仍然未定义如果我没有弄错您的问题,您需要在选项的回调中执行类似操作。map()
:
{op.label}
说明:如果选项的op.value
等于作为道具传递的defaultValue
,则默认情况下将选择该选项
React非常聪明,可以根据其值为true
或false
知道是否向特定选项添加selected
属性。如果我没有弄错您的问题,您需要在选项的回调中执行类似操作。map()
:
{op.label}
说明:如果选项的op.value
等于作为道具传递的defaultValue
,则默认情况下将选择该选项
React足够聪明,可以根据其值为true
或false
Form来知道是否将selected
属性添加到特定选项。Item
现在支持4.2.2版中的initialValue
属性,该属性可用于设置默认值。表单。Item
现在支持initialValue
版本4.2.2中的道具,可用于设置默认值。不,您的问题没有答对。例如,如果未选择任何项目,FormSelect的值应给出一个空数组,但select的antd中的实际默认值为未定义。那你怎么处理这个案子呢。为此,您需要设置一些默认值。此外,antdSelect.Option
不提供任何选择的prop在
中传递defaultValue
prop是否解决了您的问题?尝试将空数组传递给它。您的默认值
是根据模式
的值设置的。尝试从一开始就将其分配为空数组,而不是有条件地分配。这里也有同样的问题!有什么解决办法吗?没有,你的问题不对。例如,如果未选择任何项目,FormSelect的值应给出一个空数组,但select的antd中的实际默认值为未定义。那你怎么处理这个案子呢。为此,您需要设置一些默认值。此外,antdSelect.Option
不提供任何选择的prop在
中传递defaultValue
prop是否解决了您的问题?尝试将空数组传递给它。您的默认值
是根据模式
的值设置的。尝试从一开始就将其分配为空数组,而不是有条件地分配。这里也有同样的问题!有解决办法吗?
<Select.Option
selected={op.value === this.props.defaultValue ? true : false}
key={op.value}
value={op.value}
label={op.label}>
{op.label}
</Select.Option>