当前位置: 首页 > news >正文

青岛建设监理协会网站wordpress wordpress

青岛建设监理协会网站,wordpress wordpress,免费 网站 空间,网站后台管理模块一般情况下#xff0c;我们在页面组件里面都会使用state创建对应的分页参数和分页方法然后传入对应的组件内部#xff0c;再或者选择行、全选等等#xff0c;这都会在每一个组件中徒增大量的代码行数#xff0c;所以简单整理了一下这个只是针对于处理逻辑的组件#xff1a…一般情况下我们在页面组件里面都会使用state创建对应的分页参数和分页方法然后传入对应的组件内部再或者选择行、全选等等这都会在每一个组件中徒增大量的代码行数所以简单整理了一下这个只是针对于处理逻辑的组件 useTableCom import { map, uniqBy } from lodash-es import { useState } from react // 表格分页参数默认值 const cur 1 const pagesize 10 export default function useRowSelection({ rowKey id, getTable () {} }) {// 表格选中的id rowKeyconst [selectedRowKeys, setSelectedRowKeys] useState([])// 当前选中的行元素对象const [selectedList, setSelectedList] useState([])const [pageNum, setCurrent] useState(cur)const [pageSize, setPageSize] useState(pagesize)// 记录当前表格查询条件const [curparams, setcurparams] useState({})// 表格多选const rowSelection {// 当前选中行listselectedRowKeys,// 禁用选中getCheckboxProps: record ({disabled: record.disabled,}),// onChange: (keys, selectedRows, info) {// console.log(keys, selectedRows, info)// },// 单选按钮onSelect: (record, selected) {let selectedData selectedList// 选中 pushif (selected) {selectedData.push(record)} else {// 未选中 spliceselectedData.splice(selectedData.findIndex(item item[rowKey] record[rowKey]),1,)}selectedData uniqBy(selectedData, rowKey)setSelectedList(selectedData)setSelectedRowKeys(map(selectedData, rowKey))},// 全选按钮onSelectAll: (selected, selectedRows, changeRows) {let selectedData selectedListif (selected) {selectedData selectedData.concat(changeRows)} else {selectedData selectedData.filter(x !changeRows.find(change change[rowKey] x[rowKey]))}selectedData uniqBy(selectedData, rowKey)setSelectedList(selectedData)setSelectedRowKeys(map(selectedData, rowKey))},}// 重置当前选中项const initSelect () {setSelectedRowKeys([])setSelectedList([])}// 这个可以页面初始化或者重置查询条件的时候使用const changeCurrentAndPageSize async (pageNum cur, pageSize pagesize, params {}) {setCurrent(pageNum)setPageSize(pageSize)setcurparams(params)getTable({ pageNum, pageSize, ...params })}// 点击跳转页码或者下一页的时候const paginationChange (p, ps) {if (ps ! pageSize) {changeCurrentAndPageSize(1, ps, curparams)} else {changeCurrentAndPageSize(p, ps, curparams)}}// 设置当前分页参数 const changeCurrentAndPageSizeNum (pageNum cur, pageSize pagesize) {setCurrent(pageNum)setPageSize(pageSize)}return {// 当前页pageNum,changeCurrentAndPageSizeNum,setCurrent,// 当前页显示条数pageSize,setPageSize,// 改变当前页码changeCurrentAndPageSize,// 给table组件的改变页面的方法paginationChange,// 选中行方法rowSelection,// 当前选中的 rowKey listselectedRowKeys,// 当前选中的 对象 listselectedList,// 设置当前选中的 rowKey listsetSelectedRowKeys,// 设置当前选中的 对象 listsetSelectedList,// 初始化选中框initSelect,} } 使用的时候我们我们只需要传入当前list每一行的key以及对应的表格查询方法即可。 使用 const getTable async (obj {}) {setList([])setTotal(0)setLoading(true)const res await IPServe.aaa(obj)if (res res.code 200) {const { data [], total 0 } res.data || {}setList(data)setTotal(total)}setLoading(false)}const {pageNum,pageSize,changeCurrentAndPageSize,// rowSelection,// selectedRowKeys,// initSelect,paginationChange,} useRowSelection({rowKey: id,getTable,})form表单收集查询参数即可const search async () {changeCurrentAndPageSize(1, 10, {...form.getFieldsValue(),})}const reset () {form.resetFields()changeCurrentAndPageSize(1, 10, {...form.getFieldsValue(),})}myTableProps{{title: 列表,columns: [],dataSource: [],showPagination: true,rowKey: id,}}pageProps{{ total, pageNum, onChange: paginationChange, pageSize }}/当然我们也可以将total也搞到组件里面。 myTable是自己封装的组件当然table组件无非就这些参数。
http://www.zqtcl.cn/news/934911/

相关文章:

  • 怎么找网站的根目录平台类网站营销方案
  • 网站关键词 价格生成山西建设工程备案网站
  • 网站开发入哪个会计科目设计师自己的网站
  • php做网站界面代码定制网页设计报价
  • 重庆智能模板建站wordpress+widget+开发
  • vps网站空间时尚网站首页设计
  • 美容行业网站建设方案网站建设需求背景
  • 贵阳做网站找哪家好长沙部分风险区域调整
  • 设计网站 常用微信网站建设口碑好
  • 网站建设加盟列举网络推广的方式
  • 大连博硕网站建设dw做网站背景音乐
  • 江苏省建设执业网站北京做胃镜哪好德胜门网站I
  • 南京网站开发南京乐识好郑州宣传片制作多少钱
  • 昆明网站制作方案定制wordpress图片广告
  • 宜宾seo网站建设辽宁专业网站建设大全
  • 同一产品做多个网站网页打不开的解决方法
  • 手机建个人网站c 做网站开发实例
  • 做网站竞价没有点击率教你用模板做网站
  • 网站与域名南宁网络系统开发
  • 网站的域名做邮箱吗怎么建立一个网站让外国人浏览
  • 做建网站的工作一年赚几百万正安县网站seo优化排名
  • 简约手机网站源码深圳市龙华区民治街道
  • 买了个网站后怎么做三明网站优化
  • 表白网页制作免费网站制作西安网站快速优化
  • 如何破解网站后台管理做网站前端用什么软件好
  • 网站建设业务客户来源建德建设局官方网站
  • 网站设计 网站开发 优化网页设计一般尺寸
  • 好的版式设计网站网站建设商标属于哪个类别
  • 做淘宝素材网站哪个好用中国广告公司100强
  • 海拉尔网站建设平台wordpress的插件下载地址