React后台管理系统-用户列表页面
1.页面的结构
- //遍历list, 返回数据
- let listBody= this.state.list.map((user,index)=> {
- return (
- <tr key={index}>
- <td>{user.id}</td>
- <td>{user.username}</td>
- <td>{user.email}</td>
- <td>{user.phone}</td>
- <td>{new Date(user.createTime).toLocaleString()}</td>
- </tr>
- )
- });
- //当this.state.list.length<=0,第一次加载的时候firstLoading=true,显示"正在加载数据"
- //当this.state.list.length<=0,第一次加载的时候firstLoading=false,显示"正在加载数据"
- let listError=(
- <tr>
- <td colSpan="" className="text-center">
- {this.state.firstLoading ?"正在加载数据....." : "没有找到相应的结果"}
- </td>
- </tr>
- )
- let tableBody=this.state.list.length > 0 ? listBody:listError;
- return (
- <div id="page-wrapper">
- <PageTitle title="用户列表"/>
- <div className="row">
- <table className="table table-striped table-bordered">
- <thead>
- <tr>
- <th>ID</th>
- <th>用户名</th>
- <th>邮箱</th>
- <th>电话</th>
- <th>注册时间</th>
- </tr>
- </thead>
- <tbody>
- {
- tableBody
- }
- </tbody>
- </table>
- </div>
- {/* 分页组件 */}
- <Pagination current={this.state.pageNum}
- total={this.state.total}
- onChange={(pageNum) => {this.onPageNumChange(pageNum)}}/>
- </div>
- );
2.用户列表接口/manage/user/list.do ,请求数据为,pageNum和pageSize, pageSize默认为10,所以只需要传入当前页pageNum就可以了
- this.state={
- list:[],
- pageNum:1,
- //判断是不是第一次加载
- firstLoading:true
- }
请求后台数据
- //当页码挂载之后请求数据
- componentDidMount(){
- this.loadUserList();
- }
- loadUserList(){
- _user.getUserList(this.state.pageNum).then(res => {
- //res替换了state
- this.setState(res,() => {
- //第一次加载的时候把firstLoading设置为false
- this.setState({
- firstLoading:false
- })
- });
- },errMsg =>{
- this.setState({
- list : []
- });
- _mm.errorTips(errMsg);
- })
- }
3.当页码改变的时候触发onChange事件,调用onPageNumChange函数,传入当前页pageNum,更新state里边的pageNum
- //当页数变化的时候改变pageNum
- onPageNumChange(pageNum){
- //setSate是个异步函数
- this.setState({
- pageNum : pageNum
- },() => {
- //当页码更新了重新请求每页的记录,后台返回数据是根据页码返回的
- this.loadUserList();
- })
- }
React后台管理系统-用户列表页面的更多相关文章
- React后台管理系统-商品列表搜索框listSearch组件
1.商品列表搜索框 2.搜索框页面的结构为 <div className="row search-wrap"> <div classN ...
- React后台管理系统-table-list组件
table-list组件可用于商品列表,用户列表页面 需要传入一个tableHeads集合和tablebody import React from 'react'; // 通用的列表 class ...
- React后台管理系统- rc-pagination分页组件封装
1.用户列表页面使用的rc-pagination分页组件 Github地址: https://github.com/react-component/pagination 2.安装 cnpm insta ...
- 《React后台管理系统实战 :一》:目录结构、引入antd、引入路由、写login页面、使用antd的form登录组件、form前台验证、高阶函数/组件
实战 上接,笔记:https://blog.csdn.net/u010132177/article/details/104150177 https://gitee.com/pasaulis/react ...
- 《React后台管理系统实战 :二》antd左导航:cmd批量创建子/目录、用antd进行页面布局、分离左导航为单独组件、子路由、动态写左导航、css样式相对陷阱
一.admin页面布局及路由创建 0)cmd批量创建目录及子目录 //创建各个目录,及charts和子目录bar md home category product role user charts\b ...
- React后台管理系统-商品管理列表组件
1.商品列表页面结构 <div id="page-wrapper"> <PageTitle title="商品列表" ...
- react后台管理系统路由方案及react-router原理解析
最近做了一个后台管理系统主体框架是基于React进行开发的,因此系统的路由管理,选用了react-router(4.3.1)插件进行路由页面的管理配置. 实现原理剖析 1.hash的方式 ...
- 【共享单车】—— React后台管理系统开发手记:主页面架构设计
前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...
- 【共享单车】—— React后台管理系统开发手记:Router 4.0路由实战演练
前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...
随机推荐
- windows cmd命令 mkdir生成多个文件bug问题
[问题现象] 有这样一个bat脚本,目的是为了根据时间创建文件夹 执行后却发现生产的文件夹有两个,名字被分开了,很是纳闷,一度以为自己哪里写错了 [问题原因] 经过查阅资料,一点一点的定位.发现是因为 ...
- FoundToday 隐私政策
FoundToday 隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义 ...
- php数组处理函数
array_reverse()数组反向排序,$arr=array_reverse($arr)
- Git练习1
- lifecycle-mapping-metadata.xml
<?xml version="1.0" encoding="UTF-8"?> <lifecycleMappingMetadata> &l ...
- 在SpringBoot中使用Docker(利用dockerfile-maven-plugin插件)
周末在家做了一个实验: 将Docker通过插件的方式集成到SpringBoot中 然后通过Maven命令根据项目中的Dockerfile自动生成Docker镜像,同时将镜像推送到远程Linux服务器( ...
- Dell 笔记本触摸板网页双指滑动黑屏
# 问题如题 # 解决方法: -- 在网上搜了解决方法,最靠谱的一个是说,开机进BIOS,然后什么都不修改退出,重启就能解决(但是我采用这种方法并没有解决) -- 我自己的解决方法:设备管理器里面卸载 ...
- Ubuntu安装LAMP环境(PHP5.6) 以及下载安装phpmyadmin
参考路径: http://blog.nciaer.com/?p=133 修改apache(2.4.18)的web路径时, 需要将 /etc/apache2/sites-available/000def ...
- Freetype 安装时提示 make: Nothing to be done for `unix'
[Software-Freetype] Freetype 安装时提示 make: Nothing to be done for `unix' 官网下载的第三方软件包,编译安装会报以下错误,解决办法如下 ...
- 让我们把KBEngine玩坏吧!如何定制我们自己的C++函数(一)
为什么不更新kbe warring的代码解读了,因为在我看来那个demo讲完了实体就没东西可讲了,如果专心的看官方文档和PPT的话demo的代码后面没任何难点了已经,单纯的复制黏贴代码实在太过无聊.程 ...