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.运行全局脚手架工具,创 ...
随机推荐
- 基于STM32F407MAC与DP83848实现以太网通讯三(STM32F407MAC配置以及数据收发)
本章实现了基于STM32F407MAC的数据收发功能,通过开发板的RJ45接口连接网线到电脑,电脑使用Wiershark工具抓包验证,工程源码.资料和软件见文末. 参考文档: DP83848IV英文 ...
- centos 定时任务
想法 看见一个别的项目,每天扒bing的背景,然后 生成个列表,然后数据就一天天的增加,创意非常好 有时间研究下 关键字 centos 定时任务 基于centos7系统定时任务创建 https://b ...
- tapable - webpack 的 hooks - getAc - 异步流程控制
tapable - webpack 的 hooks,类似自己的 getAc 官方地址 https://www.npmjs.com/package/tapable 随便找了篇文章:聊聊 Webpack ...
- vue 的属性展开 props v-bind 记得带key
<el-table-column v-for="column in columns" :key="column.prop" v-bind="co ...
- Linux int型转换为char*型几种方法总结
一 前记 这种转换,windows下最常用就是atoi()函数.可惜的是,在Linux中没有itoa()函数,只有atoi() 这点很有趣,居然不对称. 所以在Linux中实现从整型到char*的 ...
- 自己想到的几道Java面试题
1.在抽象类中能否写main方法,为什么? 2.在接口中能否写main方法,为什么? 3.Java能否使用静态局部变量,为什么? 4.Java类变量,实例变量,局部变量在多线程环境下是否线程安全,为什 ...
- 推荐一款idea神级免费插件【Bito-ChatGPT】
今天推荐一款IDEA 插件神器:Bito-ChatGPT,在 IDEA 中安装直接可以使用 GPT,不需要使用魔法! 还有很重要的一点这个插件完全免费,且不限次数(目前是免费不限制次数). 环境要求: ...
- SpringBoot 支付宝付款接口类、支付异步回调函数模板
1.付款接口类 1.1.引入Maven依赖 <dependency> <groupId>com.alipay.sdk</groupId> <artifactI ...
- 28_FFmpeg音视频解封装格式
目录 一.什么是封装格式 二.使用 FFmpeg 实现解封装 1.创建解封装上下文打开流媒体文件 2.检索流信息 2.1.检索流信息 2.2.导出流信息到控制台 3.初始化音频解码器查找合适的音视流和 ...
- 【剑指 Offer II 118. 多余的边】并查集求回路
class Solution { int[] parent; int[] rank; public void init(int n) { parent = new int[n + 1]; rank = ...