一起使用mock数据动态创建表格

本文介绍如何在Ant Design中使用mock数据动态渲染表格,包括数据的动态创建、接口调用及表格组件的使用。

在ant-design中,我们创建一个基础table会怎么实现呢?
如下代码可视,我们会自己创建一些数据,在表格中渲染出来,如下

<Card title="基础表格">
<Table
columns={columns}
dataSource={this.state.dataSource}
pagination={false} 
/>
</Card>
const columns=[
      {
        title:'id',
        dataIndex:'id'
      },
      {
        title:'用户名',
        dataIndex:'userName'
      },{
        title:'性别',
        dataIndex:'sex'
      },
      {
        title:'爱好',
        dataIndex:'hobby'
      }
    ]
  componentDidMount(){
    const data=[
      {
        id:'0',
        userName:'jser',
        sex:'girl',
        hobby:'jump'
      },
      {
        id:'1',
        userName:'小LUA',
        sex:'girl',
        hobby:'eat'

      },
      {
        id:'2',
        userName:'jYung',
        sex:'girl',
        hobby:'dance'
      }
    ]
    // 把数据存起来
    this.setState({
      dataSource:data
    })
    
  }

表格如下
1037363-20181205203757419-919204714.png
当然这是数据比较少的情况下,如果数据很多呢?
我们可以通过使用mock的方式,动态创建数据

第一步:进入官网注册,并登录

1037363-20181205181753961-1773264771.png
进入之后的界面
1037363-20181205181851541-1697309214.png
1037363-20181205182139684-1200993920.png

第二步:创建我们的项目,查看我们创建的项目

1037363-20181205182454547-1824663961.png
1037363-20181205182731824-166162844.png

第三步:进入项目,点击创建项目,创建接口

1037363-20181205182837404-484902845.png
1037363-20181205182944648-2130857387.png
如下图是我根据我的需求创建的接口
1037363-20181205183648596-1878650917.png
跟大家推荐一个网站
1037363-20181205184220512-1037302527.png
我们根据文档,来创立我们的多条数据
1037363-20181205184429265-1112373827.png
点击创建跳转至
1037363-20181205184518018-401551865.png
点击预览数据
1037363-20181205185204565-1979422616.png

第四步:在我的项目中使用,由于已经安装了axios,我们可以直接使用
import React from 'react'
import 'antd/dist/antd.css'
import{Card,Table} from 'antd'
import axios from 'axios'
export default class BasicTable extends React.Component{
  state={
    dataSource2:[]
  }
  componentDidMount(){
    this.request()
  }
  //动态获取mock数据
  request=()=>{
    let baseUrl='https://www.easy-mock.com/mock/5c07a781d292dd2dc4f9caa8/mockapi'
    axios.get(baseUrl+'/table/list').then((res)=>{
      // console.log(JSON.stringify(res))
      if(res.status=='200'&& res.data.code=='0'){
        this.setState({
          dataSource2:res.data.result
        })
      }
    })
  }
  render(){
    const columns=[
      {
        title:'id',
        dataIndex:'id'
      },
      {
        title:'用户名',
        dataIndex:'userName'
      },{
        title:'性别',
        dataIndex:'sex'
      },
      {
        title:'爱好',
        dataIndex:'hobby'
      }
    ]
    return(
      <div>
        <Card title="动态数据渲染表格" style={{margin:'10px 0'}}>
          <Table
            columns={columns}
            dataSource={this.state.dataSource2}
            pagination={false}
          />
        </Card>
      </div>
    )
  }
}

我们可以看到list已经被调用了
1037363-20181205204001212-121799621.png
在页面上也已经渲染出10条数据
1037363-20181205192437077-408183606.png
我们可以注意到这些数据都是一样的,我们需要将我们的mock数据变成动态的,这个就涉及到它的一些语法知识了。
1037363-20181205224340628-996704444.png

接下来我们再看渲染结果就可以发现数据都是动态的了。
1037363-20181205223924391-143236471.png

平时也是后端给接口我们,如果能够自己mock数据的话,相信是一件很有成就感的事情,同时也能够减少后端同事的压力。
 
 
 
 
 

by:本文整理自单车后台管理系统视频,是博客园的园友@人道浮沉分享给我的,非常感谢他。

转载于:https://www.cnblogs.com/smart-girl/p/10072840.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值