摘要:前言大家在做業務系統的時候,很多地方都是列表增刪改查,做這些功能占據了大家很長時間,如果我們有類似的業務,半個小時就能做出一套那是不是很爽呢。我們這套框架對此做了下封裝,適合的小伙伴也可以借鑒封裝到自己的框架當中去。
前言
大家在做業務系統的時候,很多地方都是列表增刪改查,做這些功能占據了大家很長時間,如果我們有類似的業務,半個小時就能做出一套那是不是很爽呢。
這樣我們就可以有更多的時間學習一些新的東西。我們這套框架對此做了下封裝,適合的小伙伴也可以借鑒封裝到自己的框架當中去。核心思想用的React
高階組件解耦,接下來我們看看怎么用。
導入我們的業務組件
import { BTable } from "bcomponents";
寫好我們的頁面模板。調用BTable的高階組件BTable.tableEffectHoc,傳入url和columns參數就可以了,是不是很簡單
@BTable.tableEffectHoc({ url: "/api/table/list", //url 參數 columns: columns // table columns 參數 }) class BasicTable extends React.Component { render() { return (基礎 Table); } } export default BasicTable;
查看演示
創建list.js, 來配置和增強我們的table,注意我們需要使用Btable。
import { BTable } from "bcomponents"; class List extends React.Component { render() { return (); } } export default List;
寫我們的頁面模板,完成創建和查詢的操作。我們這次用了BTable.Search和BTabLe.Create來快速完成我們的查詢和創建
import { BTable } from "bcomponents"; import { Row, Col, Input, Form } from "antd"; import ListTable from "./_components/list"; const Search = BTable.Search; const Create = BTable.Create; const FormItem = Form.Item; @BTable.tableEffectHoc({ url: "/api/table/list", BTable: ListTable, }) class BasicTable extends React.Component { render() { const {getData} = this.props; return (); } } export default BasicTable; |
{ ({getFieldDecorator}) => ( ) } {getFieldDecorator("name", { initialValue: "", validateFirst: true, rules: [ formValid.require(), formValid.name(), ], })( )}
這里的`BTable.Search`很簡單,我們只需傳入getData屬性方法就可以完成查詢操作。 創建其實也很簡單,配置`BTable.Create`的url和getData參數。然后只需在組件內寫我們的Form表單項就可以了,是不是很簡單。 至此。我們的創建和查詢就完成了
添加編輯功能。編輯和刪除的操作在列表上,所以我們需要在list.js當中去完成.添加BTable.Update模板
{ ({getFieldDecorator}) => ( ) } {getFieldDecorator("name", { initialValue: updateData.name, validateFirst: true, rules: [ formValid.require(), formValid.name(), ], })( )}
配置項也很簡單,配置url,visible和getData就可以了,接著完善我們的FormItem就可以了。是不是很簡單
添加刪除功能
BTable.Del({ url: `/api/table/${data.id}`, getData, })
這是最簡單的了,傳一個url和getData就完成了。
查看演示
BTable文檔地址
線上演示地址:http://39.105.188.65:8080/system/channel
目前我正在開發一個頭條的開源項目。可以用此地址查看,這個是用的真實的數據
結束語表格的增刪改查封裝已經完成, 代碼已放到github上,大家可以自行查看umi-react。
如果覺得不錯,請start一下
我建了一個QQ群,大家加進來,可以一起交流。群號 787846148
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/108776.html
摘要:經過一周左右的時間完成了基礎組件的編寫。配置涵蓋了目前的業務場景的基本需求,但是可擴展性很低。最終決定采用的生態鏈來解決上述遇到的問題。在指定的路徑下寫入對應的文件。大綱 遇到的問題場景及解決方案對比 什么是babel? 解決過程 目前遺留的問題 目前實現功能API 參考 遇到的問題場景及解決方案對比 我們目前采用的是antd + react(umi)的框架做業務開發。在業務開發過程中會...
摘要:配置涵蓋了目前的業務場景的基本需求,但是可擴展性很低。最終決定采用的生態鏈來解決上述遇到的問題。在指定的路徑下寫入對應的文件。 大綱 遇到的問題場景及解決方案對比 什么是babel? 解決過程 目前遺留的問題 目前實現功能API 參考 遇到的問題場景及解決方案對比 我們目前采用的是antd + react(umi)的框架做業務開發。在業務開發過程中會有較多頻繁出現并且相似度很高的場...
摘要:序列文章從項目中由淺入深的學習微信小程序和快應用從項目中由淺入深的學習從項目中由淺入深的學習前言的出現前端已經可以用一把梭從前端寫到后臺。 showImg(https://segmentfault.com/img/bVbrRI5?w=1920&h=1080); 序列文章 從項目中由淺入深的學習vue,微信小程序和快應用 (1)從項目中由淺入深的學習react (2)從項目中由淺入深的學...
閱讀 2815·2023-04-25 18:46
閱讀 705·2021-11-19 09:40
閱讀 2072·2021-09-28 09:36
閱讀 3378·2021-09-10 11:11
閱讀 3459·2019-08-30 15:55
閱讀 1800·2019-08-30 15:54
閱讀 2593·2019-08-29 16:16
閱讀 3541·2019-08-29 15:08