preparingForm.jsx 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import React from 'react';
  2. import { Form, Select } from 'antd';
  3. const FormItem = Form.Item;
  4. const { Option } = Select;
  5. import { connect } from 'dva';
  6. import chartDesigner from '../../../models/chartDesigner';
  7. class PreparingForm extends React.Component {
  8. render() {
  9. const props = this.props;
  10. const columns = props.chartDesigner.columns;
  11. const { formItemLayout } = props
  12. return (
  13. <Form layout='horizontal'>
  14. <FormItem label='分组' {...formItemLayout}>
  15. <Select
  16. mode="multiple"
  17. labelInValue={true}
  18. onChange={(value) => {
  19. props.dispatch({ type: 'chartDesigner/preparing/setGroupBy', groupBy: value});
  20. }}
  21. value={props.chartDesigner.preparing.groupBy}
  22. >
  23. {columns.map((c, i)=>{
  24. return (<Option key={i} value={c.name}>{c.label}</Option>)
  25. })}
  26. </Select>
  27. </FormItem>
  28. </Form>
  29. );
  30. }
  31. };
  32. function mapStateToProps({ present: { chartDesigner } }) {
  33. return { chartDesigner: chartDesigner }
  34. }
  35. export default Form.create()(connect(mapStateToProps)(PreparingForm));