import React, { useState, useEffect } from 'react' import { Form, Select, Input, message } from 'antd' import { getTableNamesList } from '../services' export default function LoadFormConfig({ loadDataForm, dataSourceList }) { const [datasourceType, setDatasourceType] = useState(null) const [datasources, setDatasources] = useState() const [tableList, setTableList] = useState([]) // 获取数据源列表 useEffect(() => { if (dataSourceList.length !== 0) { setDatasources( dataSourceList.map(item => { return { label: item.datasource_name, value: item.key, } }) ) } }, [dataSourceList]) // 初始化表单类型 useEffect(() => { if (loadDataForm.getFieldValue('datasource_name')) { const type = dataSourceList.find( item => item.key === loadDataForm.getFieldValue('datasource_name') ).datasource setDatasourceType(type) } }, []) // 选择数据源 const selectDatasource = async val => { loadDataForm.setFieldValue('datasource_table', null) const type = dataSourceList.find(item => item.key === val).datasource setDatasourceType(type) console.log(val) const { data } = await getTableNamesList(val) if (data.code === 200) { const list = data.data.map(item => ({ label: item, value: item, })) setTableList(list) } else { message.error('数据表加载失败') } } return ( <>
配置加载源源