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. ...
随机推荐
- Java基础--正则表达式的规则
注意:正则表达式只关注格式是否正确,不关注内容是否有效. 一.字符集合, []表示一个字符. 1.[abc] :指a,b,c中的任意一个字符. 2.[^abc]:指除了a,b,c外的任意字符. 3.[ ...
- Kubernetes基本概念之Name和NameSpace
在Kubernetes中,所有对象都会被指定一个唯一的Name和UID. 用户还可以指定一些不要求唯一性的数据附加到对象上,例如Label和Annotation. 1. Name Name是创建一个K ...
- Oracle中慎用Like等通配符
Like关键字,从技术上来说,是一个非常友善的通配符.利用这个通配符,我们可以实现很多模糊查询.如现在在一个人事档案系统中,用户想知道身份证号码以“339005”开头的人事信息,此时,就可以利用Lik ...
- Node.js实现TCP和HTTP并作简单的比较
TCP和Node 传输控制协议是一个面向连接的协议,换句话说,它是一个传输层的协议,它主要的职务呢,就是确保信息传输的正确性. 我们使用的很多如HTTP协议都是基于TCP的,为什么呢?因为我们不希望传 ...
- JQuery的extend扩展方法
jQuery.extend 函数使用详解 JQuery的extend扩展方法: Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去 ...
- python排序(冒泡、直接选择、直接插入等)
冒泡排序 冒泡法:第一趟:相邻的两数相比,大的往下沉.最后一个元素是最大的. 第二趟:相邻的两数相比,大的往下沉.最后一个元素不用比. #冒泡排序 array = [1,5,6,2,9,4,3] de ...
- pat1067. Sort with Swap(0,*) (25)
1067. Sort with Swap(0,*) (25) 时间限制 150 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue G ...
- angularjs $state.go页面不刷新数据
假如进入market/beian/add添加数据,保存提交后回退market/beian列表页,没有自动更新数据,必须得手动下拉刷新才会出来 $state.go("marketBeian&q ...
- Day1上
上午发挥强差人意.心态不好,编译器一直报错,心里比较慌. t1 每一个P枚举底数 .可二分 T2 暴力30 打标60 x^3-y^3=(x-y)*(x^2+xy+y^2). x-y==1. ! p ...
- 利用XML序列化和Asp.Net Web缓存实现站点配置文件
我们经常会遇到这样的场景: 今天来了个业务,需要加一个字段,但是考虑的以后可能有变动,需要配成“活”的. 一般最初的做法就是加一个配置到Web.Config文件的AppSettings中去.但是这样有 ...