1.增加路由子页面&配置菜单

因为ant design pro采取的是umi路由配置,所以只要在对应的文件夹下新建相关的文件夹以及文件,它会自动解析。按照如下的步骤做即可

PS.如果想要给菜单配置icon,ant design pro有一些通用的icon图标,可以在上面配置路由的时候在每个路由处都加上 icon:'iconname' 即可,这是最简单的方法。

配置了路由以后再给它配置相关的语言预设即可,在这里我只配置了中文和英文。

这样页面上的菜单就会有相应的配置了。

2.使用mock模拟后台数据调用

在service里写相应的请求接口的逻辑,这里的request是ant design pro里自定义的接口请求方法,封装了fetch方法。

然后在相应的组件内建立models,触发action获得数据(这里用的是redux的思想)

完整的代码如下:

import { queryComment } from '@/services/geographic';

export default {
namespace: 'geographic', //命名空间,这里与组件里连接到模块的connect方法里的参数对应 state: {
comment:[],
isLoading: false,
},
//actions
effects: {
*fetchComment(_, { call, put }) {
//yield 关键字用来暂停和恢复一个生成器函数((function* 或遗留的生成器函数)。
yield put({
type: 'changeLoading',
payload: true,
});
const response = yield call(queryComment); //这里是请求到的数据
yield put({
type: 'setComment',
payload: Array.isArray(response) ? response : [],
});
yield put({
type: 'changeLoading',
payload: false,
});
},
},
//reducers指定了应用状态的变化如何响应actions并发送到store
reducers: {
setComment(state, action) {
return {
...state,
comment: action.payload,
};
},
changeLoading(state, action) {
return {
...state,
isLoading: action.payload,
};
},
},
};

在相应的组件中取相应的数据展示页面

import React, { Component } from 'react';
import {connect} from 'dva';
import {Table} from 'antd'; //取对应的模块
@connect(({geographic , loading }) => (
{
geographic ,
isLoading:loading.effects['geographic/fetchComment'],
}
)) export default class CommentManage extends Component{ componentDidMount(){
const {dispatch}=this.props;
//触发dispatch方法来触发action从而更改状态
dispatch({
type:'geographic/fetchComment'
})
}
handleChange=(current,pageSize)=>{ render(){ const columns = [ {
title: '姓名',
dataIndex: 'name',
key: 'name',
},
{
title: '所评文章ID',
dataIndex: 'article_id',
key: 'article_id', }, {
title: '评论内容',
dataIndex: 'content',
key: 'content',
},{
title:'时间',
dataIndex:'create_by',
key:'create_by'
}];
const { isLoading } = this.props;
const {geographic:{comment}}=this.props;
const dataSource=[...comment]; // console.log(dataSource)
return (
<div>
<Table
bordered
dataSource={dataSource}
columns={columns}
size="small" /> </div>
)
}
}

然后页面上就能展示相应的数据了

在table表格里使用自定义的pagination,并且给每条数据加一个序号,详细代码如下:

//初始状态
state={
currentPage:1,
pageSize:16
} //页码跳转的回调函数
onCurrentChange=(current,pageSize)=>{ const {currentPage}=this.state;
//setState是异步执行的,给他加一个0的延时,可以立马执行
setTimeout(()=>{this.setState({currentPage:current});},0); }
//pageSize改变的回调
onShowSizeChange=(current,size)=>{
const {currentPage,pageSize}=this.state;
setTimeout(()=>{this.setState({currentPage:current,pageSize:size});},0);
} //render
const pagination={
pageSize:this.state.pageSize,
total:articles.length,
showSizeChanger:true,
pageSizeOptions:['8','10','16','32','48'],
onChange:this.onCurrentChange,
onShowSizeChange:this.onShowSizeChange,
showTotal:(total,range)=>`共 ${total} 条` } //columns里配置一行序号
{
title: '#',
key:'index',
// render:(text,record,index)=>`${index+1}`,这个方法当点击下一页时,其序号不连续,想用连续的需要用下面的方法
render(text,record,index){
return(
<div>
<span>{(currentPage-1)*pageSize+index+1}</span>
</div>
)
} }, //相应的table
<Table
bordered
dataSource={articles}
columns={columns}
size="small"
pagination={pagination}
/>
<Button>提交修改</Button>
</div>

初探ant design pro的更多相关文章

  1. Ant Design Pro+Electron+electron-builder实现React应用脱离浏览器,桌面安装运行

    ant-design-pro ----> version :2.3.1 由于网上Ant Design Pro+Electron的资料太少,我就贡献一点经验   最近需要讲AntD Pro项目(以 ...

  2. 阿里开源项目之Ant Design Pro

    本篇文章主要包含的内容有三个方面. 第一.Ant Design Pro简介; 第二.Ant Design Pro能做什么; 第三.初步使用; 我相信通过这三个方面的讲解能让你大概知道Ant Desig ...

  3. ant design pro (十五)advanced 使用 API 文档工具

    一.概述 原文地址:https://pro.ant.design/docs/api-doc-cn 在日常开发中,往往是前后端分离的,这个时候约定好一套接口标准,前后端各自独立开发,就不会被对方的技术难 ...

  4. ant design pro (十四)advanced 使用 CLI 工具

    一.概述 原文地址:https://pro.ant.design/docs/cli-cn 为了更好以及高效的开发效率,我们提供了配套的 ant-design-pro-cli 工具. pro cli 提 ...

  5. ant design pro (十三)advanced 错误处理

    一.概述 原文地址:https://pro.ant.design/docs/error-cn 二.详细 2.1.页面级报错 2.1.1.应用场景 路由直接引导到报错页面,比如你输入的网址没有匹配到任何 ...

  6. ant design pro (十二)advanced UI 测试

    一.概述 原文地址:https://pro.ant.design/docs/ui-test-cn UI 测试是项目研发流程中的重要一环,有效的测试用例可以梳理业务需求,保证研发的质量和进度,让工程师可 ...

  7. ant design pro (十一)advanced Mock 和联调

    一.概述 原文地址:https://pro.ant.design/docs/mock-api-cn Mock 数据是前端开发过程中必不可少的一环,是分离前后端开发的关键链路.通过预先跟服务器端约定好的 ...

  8. ant design pro (十)advanced 图表

    一.概述 原文地址:https://pro.ant.design/docs/graph-cn Ant Design Pro 提供了由设计师精心设计抽象的图表类型,是在 BizCharts 图表库基础上 ...

  9. ant design pro (八)构建和发布

    一.概述 原文地址:https://pro.ant.design/docs/deploy-cn 二.详细 2.1.构建 当项目开发完毕,只需要运行一行命令就可以打包你的应用: npm run buil ...

随机推荐

  1. codevs 3027线段覆盖2

    传送门 3027 线段覆盖 2  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 数轴上有n条线段,线段的两端都是整数坐标, ...

  2. webpack 基本功能和原理

    依赖管理:方便引用第三方模块.让模块更容易复用.避免全局注入导致的冲突.避免重复加载或加载不需要的模块. 合并代码:把各个分散的模块集中打包成大文件,减少HTTP的请求链接数,配合UglifyJS可以 ...

  3. VirtualBox下安装ubuntu图文教程以及软件安装

    一. 下载安装VirtualBox 官网下载VirtualBox,目前版本:VirtualBox 5.1.8 for Windows hosts x86/amd64 下载好了安装VirtualBox, ...

  4. poj3613Cow Relays——k边最短路(矩阵快速幂)

    题目:http://poj.org/problem?id=3613 题意就是求从起点到终点的一条恰好经过k条边的最短路: floyd+矩阵快速幂,矩阵中的第i行第j列表示从i到j的最短路,矩阵本身代表 ...

  5. [Java] 练习题001:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

    [程序1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2 ...

  6. jquery easyui 实战总结

    (2012-09-26 10:22:24) 转载▼ 标签: it 分类: Javascript 一.tree 1.根据node id查找对应的node,然后选择该节点:                 ...

  7. Flutter实战视频-移动电商-25.列表页_使用Provide控制子类-1

    25.列表页_使用Provide控制子类-1 主要是二级分类的UI布局 1分15秒 生成我们的右侧动态类 定义list变量 开始写里面的子项,把每一个小的写了 再拼成一个大的 这样我们的小类就写完了 ...

  8. Codeforces 625B【KMP】

     题意就是一个串在另一个串出现几次,但是字符不能重复匹配, 比如aaaaaaa aaaa的答案是1 思路: 本来写了个暴力过的,然后觉得KMP改改就好了,就让队友打了一个: #include < ...

  9. CodeForces 644B【模拟】

    题意: 查询数 和 最大的队列容量+1: 按时间顺序 ti代表,第i个出线的时间: di代表,第i个需要处理的时间: 对于第i个输出他所需要的时间完成,或者拒绝进入输出-1: 思路: 真是MDZZ了, ...

  10. CodeForces 665B 【水-暴力】

    题意(来自网络): 现在有k件商品,每个商品的位置已经告诉你了 现在有n个人,每个人有m个需求,每个需求就是要把第a[i][j]个物品拿到第一个位置来 他的代价是pos[a[i][j]] 问你所有代价 ...