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

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

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