Ant-Design-Pro小试:react开发步骤(mock数据)

1、router.config.js

{
        path: '/train',
        name: 'train',
        icon: 'profile',
        routes: [
          // profile
          {
            path: '/train/list',
            name: 'list',
            component: './Train/List',
          }
        ],
      },

 2、menu.js

 'menu.train': "火车业务",
  'menu.train.list': "火车查询列表",

3、pages增加

list.js

import React, { Component,Fragment } from 'react';
import { connect } from 'dva';
import { Table,Button,Modal,message,Divider, Input } from "antd";


@connect(({ train, loading }) => ({
  planData:train.planData,
  loading: loading.effects['train/fetchList'],
}))
export default class BoatList extends Component {
  state = {
  }

  componentDidMount(){
    
    let payload={};
    this.props.dispatch({
      type: 'train/fetchList',
      payload
    });
  }


  render(){
    const { loading,planData} = this.props;
    console.log(111);
    console.log(planData);
    
    let columns = [
      {title:"序号",dataIndex:"id"},
      {title:"船名",dataIndex:"name"},
      {title:"入港时间",dataIndex:"inTime"},
      {title:"更新时间",dataIndex:"updateTime"},
    ]
    return(  
        <Table 
          dataSource={planData} 
          columns={columns}
          rowKey="id" 
          loading={loading} /> 
    );
  }
}

models/train.js 

import { getFakeTrainData } from '@/services/api';

export default {
  namespace: 'train',

  state: {
    planData: [],
  },

  effects: {
    /**
     * 计划列表
     * @param payload {Objact} 参数 
     * @param callback {Function} 回调函数 
     */
    *fetchList({payload,callback}, { call, put }) {
      const response = yield call(getFakeTrainData,payload);
      console.log(222);
      console.log(response);
      yield put({
        type: 'savePlan',
        payload: response,
      });
    },
   
    
  },

  reducers: {
    savePlan(state, { payload }) {
      return {...state,planData:payload};
    },
  }
}

4、service/api.js

export async function getFakeTrainData() {
  return request('/api/trainList');
}

5、mock/api.js

  'GET /api/trainList': [
    {id:"1",name:"中华荣耀",inTime:"2019-01-24 17:21:00",updateTime:"2019-01-24 17:21:00"},
    {id:"2",name:"雅典娜",inTime:"2019-01-24 17:21:00",updateTime:"2019-01-24 17:21:20"}
  ]

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值