业务需求
父组件获取子组件数值,子组件是一个表单,包含Cascader、Select两种类型组件,其中能源类型Select根据Cascader数值拿到,效果如图:
其中antd版本3.26.3
实现思路
通过使用 onFieldsChange获取表单值,通过回调函数传给父组件。antd官方说明
父组件
// changedFields是子组件表单变化值,allFields是子组件表单所有值
handleSearchBarFormChange = (changedFields, allFields) => {
const obj = {
buildingId: allFields.buildings.value[1],
energySort: allFields.sorts.value,
year: allFields.year.value,
};
if (obj.buildingId !== null && obj.energySort !== null && obj.year !== null) {
this.generateTreeData(this.pageType, obj.buildingId, obj.energySort);
this.setState({
searchBar: obj,
});
}
};
render(