import React, { useEffect, useState } from 'react'; import { StackedColumnBarProps } from '../../index.d'; import { Button, Divider, Form, Input, Modal, Table, Tabs } from 'antd' import { MinusOutlined, PlusOutlined } from '@ant-design/icons'; import './index.less' import HttpPropsEditor from '../HttpPropsEditor'; export interface StackedColumnBarEditorProps extends StackedColumnBarProps { [key: string]: any; editFinish: (value: any) => void; } const layout = { labelCol: { span: 4 }, wrapperCol: { span: 20 }, }; const StackedColumnBarEditor: React.FC = (props) => { const { editFinish, configs: { dataCfg, propsCfg } } = props const [form] = Form.useForm() const [colAddForm] = Form.useForm() const [source, setSource] = useState([]) const [colRowKeys, setColRowKeys] = useState([]) const [visible, setVisible] = useState(false) useEffect(() => { if (propsCfg&&propsCfg.columnsDefine) { setSource(propsCfg.columnsDefine) } },[]) const onFormFinish = (val: any) => { if (editFinish) { val.propsCfg = { ...val.propsCfg, columnsDefine:source } editFinish(val); } } const addCol = () => { setVisible(true) } const deleteCol = () => { const dataList = [...source] const tempList = dataList.filter((x: any) => { return !colRowKeys.includes(x.key) }) setSource([...tempList]) } // 列定义表头 const col = [ { title: '坐标名', dataIndex: 'title', width: '200px', } ] const onColsAdd = (val: any) => { // console.log('onColsAdd', val) const dataList = [...source] const k = `${dataList.length}-${new Date().getTime().toString()}` dataList.push({ title: val.columnsName, key: k }) setSource([...dataList]) setVisible(false) } return
{ onFormFinish(val) }} > row.key} size="small" scroll={{ y: 170 }} rowSelection={{ columnWidth: 30, selectedRowKeys: colRowKeys, onChange: (srks: any) => { setColRowKeys(srks) } }} pagination={false} />
 
{ colAddForm.submit() }} onCancel={() => setVisible(false)} width={500} > { onColsAdd(val) }}>
} export default StackedColumnBarEditor;