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.运行全局脚手架工具,创 ...
随机推荐
- 主题 3 编辑器(Vim)
主题 3 编辑器(Vim) 编辑器 (Vim) · the missing semester of your cs education (missing-semester-cn.github.io) ...
- 使用CEF(五)— 在QT中集成CEF(2)基于CLion+CMake搭建环境
在前文<使用CEF(四)- 在QT中集成CEF(1):基本集成>中,我们使用VS+QT的插件搭建了一个基于QT+CEF的项目.时过境迁,笔者目前用的最多的就是CLion+CMake搭建C/ ...
- 使用 LogProperties source generator 丰富日志
Nuget包 Microsoft.Extensions.Telemetry.Abstractions 包含的新的日志记录source generator,它支持使用[LogProperties]将整个 ...
- 二次元 & 动漫壁纸网站(内容记录)
前言 天天和电脑.手机以及平板等电子设备打交道,一个好看的桌面壁纸图片当然是必不可少的,也曾经分享过<值得珍藏的高清壁纸网站推荐>,各种类型和分辨率的壁纸都有. 今天再分享些「高清二次元& ...
- 基于Python代码的相关性热力图,VIF共线性诊断图及残差四图的使用及解释
注:热力图和共线性诊断图易看易解释,这里不再阐述 残差四图(Residuals vs Fitted Plot,Normal Q-Q Plot,Scale-Location Plot,Cook's Di ...
- 一个基于.NET Core构建的简单、跨平台、模块化的商城系统
前言 今天大姚给大家分享一个基于.NET Core构建的简单.跨平台.模块化.完全开源免费(MIT License)的商城系统:Module Shop. 商城后台管理端功能 商品:分类.品牌.单位.选 ...
- 【环境配置】vscode配置C C++开发和调试环境
按照本教程配置好之后,不再需要写任何tasks.json和launch.json文件,减轻记忆负担,即使是调试程序,也不用再写这些文件了,跟着做就能得到一个很好的集成开发环境 目录 msys2的安装与 ...
- KingbaseES 使用百分比函数获取中位数
客户从Oracle数据库迁移至KingbaseES数据库,应用中使用MEDIAN函数来求中位数.KingbaseES数据库中没有MEDIAN函数,但可以通过百分比函数来实现相应的功能. MEDIAN ...
- PyCharm字体大小快捷键设置(“ctrl+滚轮”实现字体的随时放大和缩小)
前言:我们在使用PyCharm工具编写Python代码的时候,希望能够随时放大缩小字体,而PyCharm默认是没有设置快捷键的,我们可以自己设置,下面就教大家如何设置. 分为两步设置: PyCharm ...
- #分类讨论#CF891A Pride
题目 你有一个长度为 \(n\) 的数列 \(a\),你能执行一些操作. 每个操作是这样的:选择两个相邻的数 \(x\) 和 \(y\),把 它们中的一个 换为 \(\gcd(x,y)\). 问你把数 ...