初學者使用react+antd實現表格+彈窗
初學者使用react+antd實現表格+彈窗
github地址: https://github.com/YepFury/react-table-demo
趁著專案間歇,試著寫了一下未接觸的react,找了一下資料,決定使用ant-design元件庫,因為基本是完全的react新手,因此對著官網教程及查詢資料簡單的實現了一下使用vue實現過的表格+彈窗。
準備
環境安裝
npm install yarn -g
npm install create-react-app -g
建立專案
create-react-app table-demo
工具會自動初始化一個腳手架並安裝 React 專案的各種必要依賴
顯示配置(按照個人理解是否需要)
yarn eject && y
安裝依賴
雖然腳手架回安裝一些依賴,但是缺了必要的元件庫以及一些常用庫
yarn add antd
yarn add axios
啟動專案
cd table-demo
yarn start
其他
因為習慣使用less,所以還是打算在react中使用less語法,在專案中配置less語法的方法除了antd官網介紹的自定義主題,使用react-app-rewrite-less
外掛外,還有就是在對應的webpack配置檔案中修改,即修改webpack.config.dev.js
webpack.config.prod.js
,修改如下:
- 修改
webpack.config.dev.js
// style files regexes
const cssRegex = /\.css$/;
const cssModuleRegex = /\.module\.css$/;
const sassRegex = /\.(scss|sass)$/;
const sassModuleRegex = /\.module\.(scss|sass)$/;
+ const lessRegex = /\.(less)$/;
+ const lessModuleRegex = /\.module\.(less)$/ ;
//...
module.exports = {
module: {
rules: [
+ {
+ test: lessRegex,
+ exclude: lessModuleRegex,
+ use: getStyleLoaders({importLoaders: 2}, 'less-loader')
+ },
+ {
+ test: lessModuleRegex,
+ use: getStyleLoaders(
+ {
+ importLoaders: 2,
+ modules: true,
+ getLocalIdent: getCSSModuleLocalIdent,
+ },
+ 'less-loader'
+ ),
+ },
]
}
}
- 修改
webpack.config.prod.js
// style files regexes
const cssRegex = /\.css$/;
const cssModuleRegex = /\.module\.css$/;
const sassRegex = /\.(scss|sass)$/;
const sassModuleRegex = /\.module\.(scss|sass)$/;
+ const lessRegex = /\.(less)$/;
+ const lessModuleRegex = /\.module\.(less)$/;
//...
module.exports = {
module: {
rules: [
+ {
+ test: lessRegex,
+ exclude: lessModuleRegex,
+ loader: getStyleLoaders(
+ {
+ importLoaders: 2,
+ sourceMap: shouldUseSourceMap,
+ },
+ 'less-loader'
+ ),
+ },
+ {
+ test: lessModuleRegex,
+ loader: getStyleLoaders(
+ {
+ importLoaders: 2,
+ sourceMap: shouldUseSourceMap,
+ modules: true,
+ getLocalIdent: getCSSModuleLocalIdent,
+ },
+ 'less-loader'
+ ),
+ },
]
}
}
開發
建立檔案目錄
建立檔案
/services/request.js
import axios from 'axios';
const request = axios.create({
baseURL: 'http://192.168.x.x:7788/api',
timeout: 10000,
headers: {
'Content-Type': 'application/json'
}
})
request.interceptors.request.use(config => {
return config;
}, error => {
return new Promise.inject(error);
})
request.interceptors.response.use(response=>{
return response.data
},error=>{
new Promise.inject(error)
})
export default request;
/services/api.js
將請求方法進行封裝,統一管理
import request from './request';
export async function getTableData(params) {
return request.get('/table/allData', {
params: params
})
}
// post all
引入antd
修改 src/App.js
,引入 antd
import React, { Component } from 'react';
修改 src/App.css
,在檔案頂部引入 antd/dist/antd.css
。
@import '~antd/dist/antd.css';
引入完之後按照自己的需要引入不同的元件使用即可,過程可參照antd官方文件。
效果圖
相關推薦
初學者使用react+antd實現表格+彈窗
初學者使用react+antd實現表格+彈窗 github地址: https://github.com/YepFury/react-table-demo 趁著專案間歇,試著寫了一下未接觸的react,找了一下資料,決定使用ant-design元件庫,因為基本是完全的react新手,因此對
封裝React AntD的dialog彈窗元件
前一段時間分享了基於vue和element所封裝的彈窗元件(封裝Vue Element的dialog彈窗元件),今天就來分享一個基於react和antD所封裝的彈窗元件,反正所使用的技術還是那個技術,情況還是那個情況。只是基於vue所封裝的彈窗元件和基於react所封裝的彈窗元件還是有很大差別的。一樣的是封裝
利用js實現popup彈窗
settings element type 路由 數據庫 點擊 ack get 事件 簡單實現一個通過一個網頁,點擊生成一個彈窗,然後點擊保存之後自動關閉彈窗的功能。 首先在settings文件中寫上兩條對應的路由關系。 1 urlpatterns = [ 2
CSS實現tost彈窗效果
html: <div class="black-and-white-b"> <div class="hintBox"></div> </div> css: .bla
react+antd實現樹形選單展示(後臺使用java)
1.資料庫表設計(我使用的是單表一對多,裡面需要有一個pid指向父層級的id) 2.在後臺獲取資料的時候,使用的實體類為此種形式 public class UserTree { private Integer id; private String name; p
使用彈窗風格的Activity實現萬能彈窗+Service中隱式啟動Activity實現Service中彈窗
一、使用彈窗風格的Activity先看效果圖程式碼實現:1.在values資料夾的styles.xml中定義彈窗style<style name="DialogStyle" parent="Base.Theme.AppCompat.Dialog"> <!--
react + antd 實現列印功能(踩了不少坑)
最近在有網頁列印需求,嘗試了一下react的列印功能,遇到了不少的坑: 1.react本身有一些列印的元件,但都不好用,都是基於window.print(),但是window.print()如果直接列印的話,沒有樣式。處理直接當前網頁的body設定為你要列印的區域,但是當你取消列印的時候你會發現整個網頁都被
react + antd 實現打印功能(踩了不少坑)
set wid 但是 pan ets req 問題: 我們 posit 最近在有網頁打印需求,嘗試了一下react的打印功能,遇到了不少的坑: 1.react本身有一些打印的組件,但都不好用,都是基於window.print(),但是window.print()如果直接打印
c語言實現無限彈窗
#include <windows.h> #pragma comment (lib, "User32.lib") int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow
JDBC:Servlet返回資訊到頁面,實現Js彈窗效果
//返回資訊,實現頁面彈窗 response.setCharacterEncoding("utf-8"); //防止ajax返回的資料亂碼(有中文的情況下,就必須要寫) response.setCont
論如何用Vue實現一個彈窗-一個簡單的元件實現
前言 最近在使用element-ui框架,用到了Dialog對話方塊元件,大致實現的效果,跟我之前自己在移動端專案裡面弄的一個彈窗元件差不太多。然後就想著把這種彈窗元件的實現方式與大家分享一下,下面本文會帶著大家手摸手實現一個彈窗元件。 本文主要內容會涉及到
js實現window 彈窗小案例
首先大家先看一下這個小案例的效果圖,可能大家剛看到下面這張效果圖的時候有點小小的疑惑,小編在這向大家解釋下,所謂的window彈窗事件就是在圖片的左邊有個選擇按鈕,當我們點選該按鈕時候就會彈出右邊的圖
jquery 實現的彈窗
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html
js實現簡單彈窗效果
程式碼 <!DOCTYPE html> <html> <head> <title></title> <script src
DIV+CSS實現中間彈窗效果
css程式碼 <style type="text/css" > body{ font-family: "Microsoft YaHei" ! important; } /*灰色遮
React native 自定義彈窗(android使用原生ios彈窗)
android端執行效果圖(ios同樣適用): 1.自定義彈窗原始碼: import React, { Component } from 'react'; import { StyleSheet, Text, View, Modal
JQuery實現的彈窗效果
這是筆者實際專案中的一個需求,我們先來看看特效。 頁面載入時彈出視窗,點選關閉按鈕,視窗消失並呈現動畫效果。 實現程式碼如下: <!DOCTYPE HTML PUBLIC "-//W3C
封裝react antd的表格table元件
封裝元件是為了能在開發過程中高度複用功能和樣式相似的元件,以便我們只關注於業務邏輯層的處理,提高開發效率,提高逼格,降低程式碼重複率,降低勞動時間,減少加班的可能。 本次元件的封裝採用了函式式元件即無狀態元件的方式來提高頁面渲染效能,由於無狀態元件在資料變更後不會主動觸發頁面的重新渲染,所以本次的封裝也用到
基於React.js網頁版彈窗|react pc端自定義對話方塊元件RLayer
基於React.js實現PC桌面端自定義彈窗元件RLayer。 前幾天有分享一個Vue網頁版彈框元件,今天分享一個最新開發的React PC桌面端自定義對話方塊元件。 RLayer 一款基於react.js開發的PC端自定義Layer彈出框元件。支援超過30+引數自由配置,通過輕巧的佈局設計、極簡的呼叫方式來
Nodejs擴展,實現消息彈窗
技術 tac fault etc 解決方法 font value nal rop 參考https://github.com/olalonde/node-notify的實現 模塊的C++代碼 node_gtknotify.cc #inclu