提交 f1339d6a authored 作者: 肖伟鸣's avatar 肖伟鸣

增加对FormArray自定义组件的支持

上级 e3a315b9
...@@ -78,6 +78,7 @@ const DiyPicker = props => { ...@@ -78,6 +78,7 @@ const DiyPicker = props => {
value: x.key, value: x.key,
}; };
}); });
return ( return (
<Picker <Picker
data={opt} data={opt}
...@@ -233,76 +234,82 @@ class FormArray extends Component { ...@@ -233,76 +234,82 @@ class FormArray extends Component {
detailDom = () => { detailDom = () => {
const { config, formValues, readOnly } = this.props; const { config, formValues, readOnly } = this.props;
return config.map(x => { return (
x.readOnly = readOnly || x.readOnly; config &&
switch (x.type) { config.length &&
case 'InputItem': config.map(x => {
return ( x.readOnly = readOnly || x.readOnly;
<DiyInput switch (x.type) {
key={x.key} case 'InputItem':
config={x} return (
formValue={formValues} <DiyInput
changeValue={this.changeValue} key={x.key}
/> config={x}
); formValue={formValues}
case 'TextareaItem': changeValue={this.changeValue}
return ( />
<DiyTextarea );
key={x.key} case 'TextareaItem':
config={x} return (
formValue={formValues} <DiyTextarea
changeValue={this.changeValue} key={x.key}
/> config={x}
); formValue={formValues}
case 'TextareaItemMultiRows': changeValue={this.changeValue}
return ( />
<TextareaItemMultiRows );
key={x.key} case 'TextareaItemMultiRows':
config={x} return (
value={formValues[x.key]} <TextareaItemMultiRows
onChange={val => this.changeValue(val, x.key)} key={x.key}
/> config={x}
); value={formValues[x.key]}
case 'Picker': onChange={val => this.changeValue(val, x.key)}
return ( />
<DiyPicker );
config={x} case 'Picker':
key={x.key} return (
formValue={formValues} <DiyPicker
changeValue={this.changeValue} config={x}
/> key={x.key}
); formValue={formValues}
case 'DatePicker': changeValue={this.changeValue}
return ( />
<DiyDatePicker );
key={x.key} case 'DatePicker':
config={x} return (
formValue={formValues} <DiyDatePicker
changeValue={this.changeValue} key={x.key}
/> config={x}
); formValue={formValues}
case 'Switch': changeValue={this.changeValue}
return ( />
<DiySwitch );
key={x.key} case 'Switch':
config={x} return (
formValue={formValues} <DiySwitch
changeValue={this.changeValue} key={x.key}
/> config={x}
); formValue={formValues}
case 'CheckBox': changeValue={this.changeValue}
return ( />
<DiyCheckBox );
key={x.key} case 'CheckBox':
config={x} return (
formValue={formValues} <DiyCheckBox
changeValue={this.changeValue} key={x.key}
/> config={x}
); formValue={formValues}
default: changeValue={this.changeValue}
return null; />
} );
}); case 'Components':
return x.render(formValues[x.key], this.changeValue, x.key);
default:
return null;
}
})
);
}; };
render() { render() {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论