封装的search的select部分
getFieldItem (configItem) {
const { getFieldDecorator } = this.props.form
switch (configItem.type) {
case 'select': {
return (
{
getFieldDecorator(configItem.value, { rules: [], initialValue: configItem.defaultValue ? configItem.defaultValue : configItem.defaultValue })(
<Select
placeholder={configItem.placeholder} onChange={configItem.onChange}
style={{ width: configItem.width || 120 }}>
{
(configItem.options || []).map(item =>
<Option key={item.value} value={item.value}>{item.label}</Option>
)
}
</Select>
)
}
</Form.Item>
)
}
页面引用封装的函数做三级联动
this.formConfigs = [
{ value: 'palces', onChange: (e, val) => this.onchages(e, val), width: 200, placeholder: '现居住场所', type: 'select', options: [] },
{ value: 'placeTaypsaeName', onChange: (e, val) => this.onchageBuilding(e, val), width: 200, placeholder: '选择楼号', type: 'select', options: [] },
{ value: 'nationCode', onChange: (e, val) => this.onchageUnit(e, val), placeholder: '选择单元', type: 'select', options: [] },
{ value: 'carColors', width: 145, placeholder: '选择房间', type: 'select', options: [] } // { value: 'carType', placeholder: '现居住地', type: 'select', options: carTypeOptions },
]
** 其中的一个 onchange事件**
onchages (e, val) {
let transformArray = []
httpClient.post('地址', { BelongedPlace: e })
.then(result => {
let data = result.data || []
data.forEach((data) => {
transformArray.push({ label: data['name'], value: data['name'], class: 'BelongedPlace' })
})
this.setState({
list1: transformArray
})
})
}