亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

03 基于umi搭建React快速開發(fā)框架(封裝列表增刪改查)

snowLu / 2021人閱讀

摘要:前言大家在做業(yè)務(wù)系統(tǒng)的時候,很多地方都是列表增刪改查,做這些功能占據(jù)了大家很長時間,如果我們有類似的業(yè)務(wù),半個小時就能做出一套那是不是很爽呢。我們這套框架對此做了下封裝,適合的小伙伴也可以借鑒封裝到自己的框架當(dāng)中去。

前言

大家在做業(yè)務(wù)系統(tǒng)的時候,很多地方都是列表增刪改查,做這些功能占據(jù)了大家很長時間,如果我們有類似的業(yè)務(wù),半個小時就能做出一套那是不是很爽呢。
這樣我們就可以有更多的時間學(xué)習(xí)一些新的東西。我們這套框架對此做了下封裝,適合的小伙伴也可以借鑒封裝到自己的框架當(dāng)中去。核心思想用的React
高階組件解耦,接下來我們看看怎么用。

基礎(chǔ)用法

導(dǎo)入我們的業(yè)務(wù)組件

import { BTable } from "bcomponents";

寫好我們的頁面模板。調(diào)用BTable的高階組件BTable.tableEffectHoc,傳入url和columns參數(shù)就可以了,是不是很簡單

@BTable.tableEffectHoc({
  url: "/api/table/list", //url 參數(shù)
  columns: columns // table columns 參數(shù)
})
class BasicTable extends React.Component {
  render() {
    return (
      
基礎(chǔ) Table
); } } export default BasicTable;

查看演示

完整的一套增刪改查

創(chuàng)建list.js, 來配置和增強我們的table,注意我們需要使用Btable。

import { BTable } from "bcomponents";

class List extends React.Component {

  render() {
    return (
      
        
      
    );
  }
}

export default List;

寫我們的頁面模板,完成創(chuàng)建和查詢的操作。我們這次用了BTable.SearchBTabLe.Create來快速完成我們的查詢和創(chuàng)建

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 (
      
        
          
            
          
          
            
              {
                ({getFieldDecorator}) => (
                  
                    
                      {getFieldDecorator("name", {
                        initialValue: "",
                        validateFirst: true,
                        rules: [
                          formValid.require(),
                          formValid.name(),
                        ],
                      })(
                        
                      )}
                    
                  
                )
              }
            
          
        
      
    );
  }
}

export default BasicTable;
這里的`BTable.Search`很簡單,我們只需傳入getData屬性方法就可以完成查詢操作。
創(chuàng)建其實也很簡單,配置`BTable.Create`的url和getData參數(shù)。然后只需在組件內(nèi)寫我們的Form表單項就可以了,是不是很簡單。
至此。我們的創(chuàng)建和查詢就完成了

添加編輯功能。編輯和刪除的操作在列表上,所以我們需要在list.js當(dāng)中去完成.添加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就完成了。

查看演示

關(guān)于

BTable文檔地址

線上演示地址:http://39.105.188.65:8080/system/channel

目前我正在開發(fā)一個頭條的開源項目??梢杂么说刂凡榭矗@個是用的真實的數(shù)據(jù)

結(jié)束語

表格的增刪改查封裝已經(jīng)完成, 代碼已放到github上,大家可以自行查看umi-react。
如果覺得不錯,請start一下
我建了一個QQ群,大家加進來,可以一起交流。群號 787846148

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/108776.html

相關(guān)文章

  • Babel 在提升前端效率的實踐

    摘要:經(jīng)過一周左右的時間完成了基礎(chǔ)組件的編寫。配置涵蓋了目前的業(yè)務(wù)場景的基本需求,但是可擴展性很低。最終決定采用的生態(tài)鏈來解決上述遇到的問題。在指定的路徑下寫入對應(yīng)的文件。大綱 遇到的問題場景及解決方案對比 什么是babel? 解決過程 目前遺留的問題 目前實現(xiàn)功能API 參考 遇到的問題場景及解決方案對比 我們目前采用的是antd + react(umi)的框架做業(yè)務(wù)開發(fā)。在業(yè)務(wù)開發(fā)過程中會...

    chanthuang 評論0 收藏0
  • babel在提升前端效率的實踐

    摘要:配置涵蓋了目前的業(yè)務(wù)場景的基本需求,但是可擴展性很低。最終決定采用的生態(tài)鏈來解決上述遇到的問題。在指定的路徑下寫入對應(yīng)的文件。 大綱 遇到的問題場景及解決方案對比 什么是babel? 解決過程 目前遺留的問題 目前實現(xiàn)功能API 參考 遇到的問題場景及解決方案對比 我們目前采用的是antd + react(umi)的框架做業(yè)務(wù)開發(fā)。在業(yè)務(wù)開發(fā)過程中會有較多頻繁出現(xiàn)并且相似度很高的場...

    huayeluoliuhen 評論0 收藏0
  • 從項目中由淺入深的學(xué)習(xí)koa 、mongodb(4)

    摘要:序列文章從項目中由淺入深的學(xué)習(xí)微信小程序和快應(yīng)用從項目中由淺入深的學(xué)習(xí)從項目中由淺入深的學(xué)習(xí)前言的出現(xiàn)前端已經(jīng)可以用一把梭從前端寫到后臺。 showImg(https://segmentfault.com/img/bVbrRI5?w=1920&h=1080); 序列文章 從項目中由淺入深的學(xué)習(xí)vue,微信小程序和快應(yīng)用 (1)從項目中由淺入深的學(xué)習(xí)react (2)從項目中由淺入深的學(xué)...

    null1145 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<