最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React 全自動數(shù)據(jù)表格組件——BodeGrid的實現(xiàn)思路

 更新時間:2019年06月12日 11:11:02   作者:_liuxx  
表格是在后臺管理系統(tǒng)中用的最頻繁的組件之一,相關(guān)的功能有數(shù)據(jù)的新增和編輯、查詢、排序、分頁、自定義顯示以及一些操作按鈕。這篇文章主要介紹了React 全自動數(shù)據(jù)表格組件——BodeGrid ,需要的朋友可以參考下

表格是在后臺管理系統(tǒng)中用的最頻繁的組件之一,相關(guān)的功能有數(shù)據(jù)的新增和編輯、查詢、排序、分頁、自定義顯示以及一些操作按鈕。我們逐一深入進行探討以及介紹我的設(shè)計思路:

表格是在后臺管理系統(tǒng)中用的最頻繁的組件之一,相關(guān)的功能有數(shù)據(jù)的新增和編輯、查詢、排序、分頁、自定義顯示以及一些操作按鈕。我們逐一深入進行探討以及介紹我的設(shè)計思路:

新增和編輯

想想我們最開始寫新增編輯頁面是怎么做的,是不是一個頁面一個頁面的寫,然后要么表單提交要么Ajax提交。后臺有無數(shù)個新增和編輯的視圖頁,現(xiàn)在想想真是恐怖啊,看著都累。后面接觸到kendoui的grid組件,看到只需要配置列的屬性以及保存的地址就能自動完成新增和編輯功能,著實讓我興奮了一把。然而不幸的是我?guī)缀跽冶榱藃eact所有的組件庫,都沒找到一個類似的組件,無奈只有自己動手了。設(shè)計思路:

1、設(shè)置每一列的類型,比如文本、數(shù)字、圖片、時間、bool值、下拉選擇框等等。

2、為不同類型提供不同的操作組件,比如文本的input組件,圖片的file組件。這樣在新增和編輯的時候會根據(jù)列以及其類型生成對應(yīng)的表單。

3、保存用戶輸入,提交至配置的url地址。

查詢、排序、分頁

查詢、排序和分頁幾乎是每個表格頁面必須的功能,實現(xiàn)方式也多種多樣,這里介紹表格萬能查詢和排序的設(shè)計思路:

1、每一列是否可以查詢應(yīng)該是可以配置的。

2、針對不同的數(shù)據(jù)類型查詢條件應(yīng)該有所區(qū)別,比如文本有“包含”條件,數(shù)字有“大于”條件等。

3、后端的處理應(yīng)該統(tǒng)一,為每一個查詢條件編寫查詢邏輯是很費力不討好的工作。

4、每一列是否可以排序是可以配置的,排序分正序和倒序. 

最后表格的請求體設(shè)計如下:

{
 "pageIndex":1,
 "pageSize":15,
 "sortConditions":[
  {
   "sortField":"name",
   "listSortDirection":1
  }
 ],
 "filterGroup":{
  "rules":[
   {
    "field":"displayName",
    "operate":"contains",
    "value":"a"
   }
  ]
 }
}

整個組件的源碼還是比較復雜,這里就不深入了,有興趣的同學可以查看react-demo中的bode-grid.js源碼,地址:https://github.com/liuxx001/react-demo.git

不過使用起來還是很簡單的,如下所示:

getInitialState:function () {
 let gridOptions={
  ref:this,
  title:"角色列表",
  url:{
   read:ApiPrefix+"zero/role/GetRolePagedList",
   add:ApiPrefix+"zero/role/CreateRole",
   edit:ApiPrefix+"zero/role/UpdateRole",
   delete:ApiPrefix+"zero/role/DeleteRole"
  },
  columns:[
   {title:"角色名",data:"name",type:"text",editor:{},query:true},
   {title:"顯示名",data:"displayName",type:"text",editor:{},query:true},
   {title:"是否靜態(tài)角色",data:"isStatic",type:"switch",editor:{},query:true},
   {title:"是否默認角色",data:"isDefault",type:"switch",editor:{},query:true},
   {title:"操作選項",type:"command",actions:[{name:"設(shè)置權(quán)限",onClick:showPermissionModel}]}
  ]
 };
 return {
  gridOptions: gridOptions
 };
}

很少的代碼就能完全實現(xiàn)表格的展示、新增、編輯、排序、查詢、分頁等功能,顯示效果:

BodeGrid表格api:

參數(shù)
類型
說明
默認值
ref
object
ref指向本身,用于行內(nèi)按鈕綁定數(shù)據(jù)
ref:this,固定寫法
title
string
表格標題
 
url
object
遠程api接口配置
 
columns
array[object]
表格列屬性配置
 
actions
array[object]
表格右上角自定義按鈕
 
pageSize
number
每頁顯示數(shù)量
15
pageSizeOptions
array[string]
可選顯示數(shù)量
["10","15","20","30","50","100"]
sortField
string
初始排序字段
第一列
sortDirection
string
初始排序方式
desc

columns屬性詳細介紹:

總結(jié)

以上所述是小編給大家介紹的React 全自動數(shù)據(jù)表格組件——BodeGrid的實現(xiàn)思路 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • React-redux實現(xiàn)小案例(todolist)的過程

    React-redux實現(xiàn)小案例(todolist)的過程

    這篇文章主要為大家詳細介紹了React-redux實現(xiàn)小案例(todolist)的過程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • 一篇文章教你用React實現(xiàn)菜譜系統(tǒng)

    一篇文章教你用React實現(xiàn)菜譜系統(tǒng)

    本篇文章主要介紹了React實現(xiàn)菜譜軟件的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-09-09
  • React hooks使用方法全面匯總

    React hooks使用方法全面匯總

    這篇文章主要介紹了react hooks實現(xiàn)原理,文中給大家介紹了useState dispatch函數(shù)如何與其使用的Function Component進行綁定,實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-10-10
  • 使用React和Redux Toolkit實現(xiàn)用戶登錄功能

    使用React和Redux Toolkit實現(xiàn)用戶登錄功能

    在React中,用戶登錄功能是一個常見的需求,為了實現(xiàn)該功能,需要對用戶輸入的用戶名和密碼進行驗證,并將驗證結(jié)果保存到應(yīng)用程序狀態(tài)中,在React中,可以使用Redux Toolkit來管理應(yīng)用程序狀態(tài),從而實現(xiàn)用戶登錄功能,需要詳細了解可以參考下文
    2023-05-05
  • React中使用collections時key的重要性詳解

    React中使用collections時key的重要性詳解

    這篇文章主要給大家介紹了關(guān)于在React.js中使用collections時key的重要性,注意:一定不能不能忘了key,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面跟著小編來一起學習學習吧。
    2017-08-08
  • antd踩坑之javascriptEnabled配置方式

    antd踩坑之javascriptEnabled配置方式

    這篇文章主要介紹了antd踩坑之javascriptEnabled配置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • React?classnames原理及測試用例

    React?classnames原理及測試用例

    這篇文章主要為大家介紹了React?classnames原理及測試用例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • React子組件調(diào)用父組件方法獲取的數(shù)據(jù)不是最新值的解決方法

    React子組件調(diào)用父組件方法獲取的數(shù)據(jù)不是最新值的解決方法

    這篇文章主要介紹了React子組件調(diào)用父組件方法獲取的數(shù)據(jù)不是最新值的解決方法,文中通過代碼示例介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-09-09
  • React獲取url后面參數(shù)的值示例代碼

    React獲取url后面參數(shù)的值示例代碼

    這篇文章主要介紹了React獲取url后面參數(shù)的值示例代碼,代碼簡單易懂,文末給大家補充介紹了react獲取URL中參數(shù)方法,需要的朋友可以參考下
    2022-12-12
  • react使用節(jié)流函數(shù)防止重復點擊問題

    react使用節(jié)流函數(shù)防止重復點擊問題

    這篇文章主要介紹了react使用節(jié)流函數(shù)防止重復點擊問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論

赫章县| 东安县| 诸暨市| 永年县| 宁南县| 华安县| 定边县| 大石桥市| 健康| 舞钢市| 攀枝花市| 青田县| 湘乡市| 壤塘县| 广灵县| 上杭县| 绥宁县| 鹤峰县| 龙州县| 宜都市| 团风县| 上栗县| 枣阳市| 广德县| 奉新县| 杨浦区| 大石桥市| 枣强县| 石泉县| 阿坝县| 安庆市| 河间市| 西和县| 阿拉善左旗| 桐梓县| 越西县| 卫辉市| 邯郸市| 翁源县| 朝阳区| 灵台县|