动态菜单和动态路由的 antd pro

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { routerRedux } from 'dva/router';
  2. import { message } from 'antd';
  3. import { fakeSubmitForm } from '../services/api';
  4. export default {
  5. namespace: 'form',
  6. state: {
  7. step: {
  8. payAccount: 'ant-design@alipay.com',
  9. receiverAccount: 'test@example.com',
  10. receiverName: 'Alex',
  11. amount: '500',
  12. },
  13. },
  14. effects: {
  15. *submitRegularForm({ payload }, { call }) {
  16. yield call(fakeSubmitForm, payload);
  17. message.success('提交成功');
  18. },
  19. *submitStepForm({ payload }, { call, put }) {
  20. yield call(fakeSubmitForm, payload);
  21. yield put({
  22. type: 'saveStepFormData',
  23. payload,
  24. });
  25. yield put(routerRedux.push('/form/step-form/result'));
  26. },
  27. *submitAdvancedForm({ payload }, { call }) {
  28. yield call(fakeSubmitForm, payload);
  29. message.success('提交成功');
  30. },
  31. },
  32. reducers: {
  33. saveStepFormData(state, { payload }) {
  34. return {
  35. ...state,
  36. step: {
  37. ...state.step,
  38. ...payload,
  39. },
  40. };
  41. },
  42. },
  43. };