react 框架(antd)的使用方法
脚手架
安装 npm install -g create-react-app
引入:
import React, { Component } from "react";
import { Table, Button, Modal, Form, Input } from "antd";//引入antd相应模块
// import { formatDate } from "./utils/index";
import moment from "moment";//moment时间定义插件
import "antd/dist/antd.css";//引入样式
//使用例子:
const columns = [
{
title: "日期",
dataIndex: "date",
// 3.
render: (text, record, index) => {
// return formatDate(text);
return moment(text).format("YYYY-MM-DD HH:mm:ss");
}
},
{
title: "姓名",
dataIndex: "name"
},
{
title: "住址",
dataIndex: "address"
}
]; // add form 组件
const AddForm = props => {
console.log(props);
let { getFieldDecorator } = props.form;
return (
<Form labelCol={{ xl: 4 }} wrapperCol={{ xl: 10 }}>
<Form.Item label="姓名">
{getFieldDecorator("name", {
rules: [{ required: true, message: "这个玩意不能为空!" }]
})(<Input />)}
</Form.Item>
<Form.Item label="地址">
{getFieldDecorator("address", {
rules: [{ required: true, message: "这个玩意不能为空!" }]
})(<Input />)}
</Form.Item>
</Form>
);
}; // const AddFormWraper = Form.create({})(AddForm); class App extends Component {
state = {
dataSource: [],
addVisible: false
}; /**
* 打开Modal
*/
showModal = () => {
this.setState({
addVisible: true
});
}; /**
* 关闭Modal
*/
hideModal = () => {
this.setState({
addVisible: false
});
}; /**
* 获取数据
*/
getList = () => {
fetch("http://localhost:9090/user")
.then(response => response.json())
.then(res => {
console.log(res); // 1.
// for (var i = 0; i < res.length; i++) {
// var item = res[i];
// item.date = formatDate(item.date);
// } // console.log(res); // 2.
// res = res.map(item => {
// return { ...item, date: formatDate(item.date) };
// }); // console.log(res); this.setState({
dataSource: res
});
});
}; /**
* 添加确定
*/
hanldeOk = () => {
// validateFields()
// 要获取 孙子的 数据
// 1. ref 的方式
// console.log(this.refs.myForm);
// this.refs.myForm.validateFields((error, values) => {
// if (!error) {
// console.log(values);
// }
// });
// 2. 你把爷孙的关系,弄成父子的关系
this.props.form.validateFields((error, values) => {
if (!error) {
// console.log(values); fetch("http://localhost:9090/user", {
method: "POST",
body: JSON.stringify({
...values,
date: new Date().getTime()
}),
headers: {
"content-type": "application/json"
}
})
.then(response => response.json())
.then(res => {
console.log(res);
this.hideModal(); });
}
});
}; componentDidMount() {
this.getList();
// formatDate(new Date().getTime());
} render() {
let { dataSource, addVisible } = this.state;
return (
<div>
<Table
rowKey="id"
dataSource={dataSource}
columns={columns}
footer={data => {
return (
<div
style={{
display: "flex",
alignItems: "center",
justifyContent: "center"
}}
>
<Button type="primary" onClick={this.showModal}>
添加记录
</Button>
</div>
);
}}
/> <Modal
title="添加记录"
visible={addVisible}
maskClosable={false}
onCancel={this.hideModal}
onOk={this.hanldeOk}
>
{/* <AddFormWraper ref="myForm" /> */} <AddForm {...this.props} />
</Modal>
</div>
);
}
} export default Form.create({})(App);
react 框架(antd)的使用方法的更多相关文章
- 十九、React UI框架Antd(Ant Design)的使用——及react Antd的使用 button组件 Icon组件 Layout组件 DatePicker日期组件
一.Antd(Ant Design)的使用:引入全部Css样式 1.1 antd官网: https://ant.design/docs/react/introduce-cn 1.2 React中使用A ...
- React构建单页应用方法与实例
React作为目前最流行的前端框架之一,其受欢迎程度不容小觑,从这门框架上我们可以学到许多其他前端框架所缺失的东西,也是其创新性所在的地方,比如虚拟DOM.JSX等.那么接下来我们就来学习一下这门框架 ...
- 当react框架遇上百度地图
百度地图官方文档的使用指导是这样说的:在页面中引入<script type="text/javascript" src="http://api.map.baid ...
- 谈谈出入React框架踩过的坑
1 在JSX的元素中写入内联样式,例如<div style={"color:blue"}></div> 报错:warning:Style prop valu ...
- 【react】当react框架遇上百度地图
百度地图官方文档的使用指导是这样说的:在页面中引入<script type="text/javascript" src="http://api.map.baid ...
- D3.js(v3)+react框架 基础部分之数据绑定及其工作过程与绑定顺序
数据绑定: 将数据绑定到Dom上,是D3最大的特色.d3.select和d3.selectAll返回的元素的选择集.选择集上是没有数据的. 数据绑定就是使被选择元素里“含有”数据. 相关函数有两个: ...
- 搭建 webpack + react 框架爬坑之路
由于工程实践需要搭一个 webpack + react 框架,本人刚开始学,就照b站上的react黑马视频做,爬过无数个坑...希望读者能引以为戒.我的是macos系统 https://www.bil ...
- 【案例分享】在 React 框架中使用 SpreadJS 纯前端表格控件
[案例分享]在 React 框架中使用 SpreadJS 纯前端表格控件 本期葡萄城公开课,将由国电联合动力技术有限公司,资深前端开发工程师——李林慧女士,与大家在线分享“在 React 框架中使用 ...
- React框架随笔
React框架随笔 现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了 ...
- React的第二种使用方法----脚手架方式
一.React的第二种使用方法-----脚手架 1.前提:Node.js >8.10 2.下载全局脚手架工具 npm i -g create-react-app 3.运行全局脚手架工具,创 ...
随机推荐
- 基于ads1299的可穿戴脑电信号采集之性能调试总结
一 前言 问题背景: 最近做项目,遇到了一个问题,就是采集的信号有噪声,在这里做了很多尝试. 二 测试步骤 A 内部方波信号质量,通过测试发现内部方波信号质量特别好.这个说明了软件和存储这块,没啥 ...
- docker部署文件
- decltype总结
decltype会识别const和引用 decltype一个表达式的时候会判断该表达式是左值还是右值,如果是左值就返回引用,否则就返回非引用. int &a = xx; const declt ...
- 关于全景(360)图片拼接的方法(Opencv3.0 Stitcher)----续(一)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 游戏引擎中的实时渲染和在V-Ray中渲染有什么区别 2022-11-25
游戏引擎中的实时渲染和在V-Ray中渲染有什么区别,下面我们一起来分析一下,从2个方面来具体分析实时渲染和在V-Ray中渲染种的不一样的区别. 原理区别 VRay等渲染器原理上叫做离线渲染(Offli ...
- 为什么SOTA网络在你的数据集上不行?来看看Imagnet结果的迁移能力研究
论文通过实验证明,ImageNet上的模型并不总能泛化到其他数据集中,甚至可能是相反的,而模型的深度和宽度也会影响迁移的效果. 如果需要参考,可选择类别数与当前任务相似的数据集上的模型性能.论文通 ...
- FPT:又是借鉴Transformer,这次多方向融合特征金字塔 | ECCV 2020
论文提出用于特征金字塔的高效特征交互方法FPT,包含3种精心设计的特征增强操作,分别用于借鉴层内特征进行增强.借鉴高层特征进行增强以及借鉴低层特征进行增强,FPT的输出维度与输入一致,能够自由嵌入到各 ...
- python爬虫等获取实时数据+Flume+Kafka+Spark Streaming+mysql+Echarts实现数据动态实时采集、分析、展示
使用爬虫等获取实时数据+Flume+Kafka+Spark Streaming+mysql+Echarts实现数据动态实时采集.分析.展示 [获取完整源码关注公众号:靠谱杨阅读人生 回复kafka获取 ...
- HTML实现发送接收串口和TCP数据
前提 请安装通讯调试工具,所有的网页必须运行在本工具上,在其他浏览器直接打开是不行的. 效果显示 在网页上右键打开,选择其他应用 2.在其他应用中找到通讯调试工具 如果没有这一项,点更多,在计算机中查 ...
- #特殊判断#牛客练习赛71 A 回文数
题目 分析 首先出现奇数次的数超过1显然无解 并且只有多个0或者只有一个非0数字并且其它都是0也无解 然后由于没有前导0所以先要找到最小的非0数,先占据首尾 最后按照常规方法前一半从左到右依次递增 注 ...