Antd Pro新增表格页面(二)

2023-11-12

前言

承接上一篇博客Ant Design Pro 新增一个表格页面(一)
继续对index.tsx进行修改

请求相关修改

复制过来的index.tsx文件中的请求都是rule的增删查改,将其修改为前文已经写好的接口请求。

import { rule, addRule, updateRule, removeRule } from '@/services/ant-design-pro/api';
import { members, addMember, updateMember, removeMember } from '@/services/ant-design-pro/api';

需要注意的是接口请求需要一些修改,例如修改用户接口:

/** 修改用户 PUT /index.php/api/member/update */
export async function updateMember(params: object, data: object, options?: { [key: string]: any }) {
  return request<API.MemberListItem>('/index.php/api/member/update', {
    method: 'PUT',
    params: {...params},
    data: {...data},
    ...(options || {}),
  });
}

这里我给修改用户的这个请求添加了参数params和data。params是查询参数,附加在url后,data则是post到服务器的数据。options暂时不清楚怎么使用。
例如修改某个用户的用户名以及备注:index.tsx中这样调用:

const handleUpdate = async (fields: FormValueType) => {
  const hide = message.loading('正在配置');
  try {
    await updateMember(
      { id: fields.id },
      {
        name: fields.name,
        remark: fields.remark,
      },
    );
    hide();
    message.success('配置成功');
    return true;
  } catch (error) {
    hide();
    message.error('配置失败请重试!');
    return false;
  }
};

跟踪handleUpdate的调用,可以发现它是在UpdateForm提交事件的回调中被调用,同时参数fields被填充为updateForm提交的数据。

添加用户及删除用户接口也是类似的修改,省略这个过程。

API数据规范修改

原文件中的 API.RuleListItem[] 修改为前文写好的 API.MemberListItem[]

列配置修改

一般列配置

找到列配置代码:

const columns: ProColumns<API.MemberListItem>[] = []

配置一个最简单的列,只需要设置好title和dataIndex即可,dataIndex指定从接口中获取哪项数据。

const columns: ProColumns<API.MemberListItem>[] = [
	{
	     title: '用户名',
	     dataIndex: 'username',
	   },
]

根据业务的需要,展现各个数据。

复杂列配置

举个简单的应用场景例子:

  • 后端返回的时间戳以秒为单位,而设置valueType为dateTime默认转换的是以毫秒为单位的时间戳,导致无法使用valueType自动转换。个人简单的处理方案:
{
      title: "时间"
      dataIndex: 'time',
      renderText: (text: number) => {
        return text * 1000;
      },
	valueType: "dateTime",	
}

值得一提的是:先执行renderText,将时间戳 * 1000,valueType会对这个返回值进行转换

更复杂的、自定义的列配置请参考官方文档API:ProTable的Columns列配置

结语

至此,基本能搭建一个用于展示所有用户的列表页面,但是其实还有许多地方是值得深入研究的

  • useState的使用:React的最新特性hooks
  • Modal浮层/Drawer抽屉的展现与隐藏控制
  • 实现自定义一个操作去请求接口
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Antd Pro新增表格页面(二) 的相关文章

  • react项目按需加载报错 .libraryName is not a valid Plugin property

    babel presets react app plugins import libraryName antd style true 原配置如上会报错 libraryName is not a valid Plugin property g
  • React重点知识拓展,含Hooks、路由懒加载等

    第7章 React扩展 一 setState 1 setState更新状态的2种写法 setState stateChange callback 对象式的setState stateChange为状态改变的对象 该对象可以体现出状态的更改
  • React Native 环境搭建, 新建项目, 运行和调试

    React Native 可以理解为一个基于 JavaScript 具备动态配置能力 面向前端开发者的移动端开发框架 目前为止虽然一直还没有V1 0 0版本 但是相信很多小伙伴都了解过或者已经入坑了 为什么RN那么有人气呢 我们可以先简单分
  • React仿写网易云音乐项目

    文章目录 一 项目功能说明 二 最终效果 三 文件目录结构说明 四 项目技术栈 五 核心技术 1 配置项目别名 craco craco 2 使用reset css进行 css 重置 3 使用CSS Sprites 精灵图 4 使用 memo
  • react项目中使用react-dnd实现列表的拖拽排序

    现在有一个新需求就是需要对一个列表 实现拖拽排序的功能 要实现的效果如下图 可以通过 react dnd 或者 react beautiful dnd 两种方式实现 今天先讲下使用react dnd是如何实现的 github地址 https
  • 【前端】react-markdown配置解析

    文章目录 react markdown基本配置 同步预览配置 MdEditorComponent js reducer js initBlogState js action types js sync actions js store js
  • React学习之扩展浅比较(三十四)

    注意 这玩意也已经被React PureComponent的功能取代了 这里依旧是提一下 主要是React v15的版本中的react with addons js 这些玩意还存在 哎 害人呐 引入 import shallowCompar
  • vue 全局组件注册_如何注册vue3全局组件

    vue 全局组件注册 With the new versions of Vue3 out now it s useful to start learning how the new updates will change the way w
  • react 使用 scss

    react 使用 scss 日常记录开发中遇到的坑 1 使用 npm install sass loader node sass S 进行安装 2 在页面中直接使用 有时候可以 有时候不行 原因 我个人觉得安装的两个插件本版兼容问题 nod
  • Vite搭建react+ts项目

    创建一个react项目 首先需要打开终端 进行vite的引入 yarn create vite 使用react模板创建项目 yarn create vite react test template react cd react test y
  • 【react】新旧生命周期对比

    componentWillUpdate componentWillReceiveProps componentWillMount 上述这三个生命周期在V18以上的版本中 使用时要加上UNSELF name
  • react组件状态同步-状态提升

    假设定义组件TemperatureInputSon import React from react class TemperatureInputSon extends React Component constructor props su
  • Notion笔记搭建博客网站 - NotionNext

    NotionNext是什么 NotionNext是我在Github上开源的基于Next js框架开发的博客生成器 目的是帮助写作爱好者们通过Notion笔记快速搭建一个独立站 从而专注于写作 而不需要操心网站的维护 它将您的Notion笔记
  • React中使用if else 条件判断

    在react中用jsx渲染dom的时候经常会遇到if条件判断 然而在jsx中竟是不允许if条件判断的 以下有几种判断方式 可以根据自己的应用场景 挑选适合的 方案一 class HelloMessage extends React Comp
  • Umi+Dva初印象<基础应用,结构,流转逻辑>

    目录 前言 知识储备 generator函数 Dva初识 实际交互 函数式组件 class组件 前言 项目初始为umi脚手架进行初始化 lt 初始化过程 http t csdn cn cuTaY gt 工程中加载了umi自带的antd ui
  • 前端学科面试题大全

    作用域和值类型引用类型的传递 变量作用域 作用域变量访问区域 变量值存在栈中 变量赋值相当于值赋值 值传递与引用传递有哪些区别 函数内部 变量会先声明 形式参数变量声明提升 整个函数体有var声明的变量 如果没有访问全局定义的num2 函数
  • ant design pro 代码学习(七) ----- 组件封装(登录模块)

    以登录模块为例 对ant design pro的组件封装进行相关分析 登录模块包含基础组件的封装 组件按模块划分 同类组件通过配置文件生成 跨层级组件直接数据通信等 相对来说还是具有一定的代表性 1 登录模块流程图 首先 全局了解一下登录模
  • React 定时刷新接口

    通过 useEffect 在页面加载时调用 getNodeDetailList 列表接口 useEffect gt getNodeDetailList change 然后通过 setInterval 来进行定时刷新 useEffect gt
  • quill编辑器使用

    官方git https github com quilljs quill 官方文档 https quilljs com 中文文档 https kang bing kui gitbook io quill 编辑器是个正经编辑器 就是文档太不正
  • vue发展历史简介

    基本介绍 Vue 是一套用于构建用户界面的 渐进式框架 与其它大型框架不同的是 Vue 被设计为可以自底向上逐层应用 最初它不过是个人项目 时至今日 已成为全世界三大前端框架之一 github 上拥有 17 8万 Star 领先于 Reac

随机推荐

  • python编写小游戏详细教程,python编写小游戏的代码

    大家好 本文将围绕如何用python编写一个简单的小游戏展开说明 python编写小游戏详细教程是一个很多人都想弄明白的事情 想搞清楚python编写小游戏的代码需要先了解以下几个事情 一 开始制作小游戏 先开始做一个简单的猜数字小游戏火车
  • Vue3 路由页面切换动画 animate.css

    animate css官网 可以通过以下的内容 来获取自己想要的动态切换样式 1 路由动画transition或者在组件中控制使用animate 安装 npm install animate css 在main ts中引入 import a
  • 万字长文——互联网广告到底是如何运行的?

    自互联网诞生之后 广告这个历史悠久的行业就被永远地改变 卫夕一直致力于普及互联网广告的基本逻辑 始终认为这是一个对行业意义的事 为此我做了一个40分钟的视频分享给大家 卫夕希望这个科普课程视频可以达到两个目标 第一 即便是没有从事过广告的小
  • 自动化代码审计工具源伞科技Pinpoint

    自动化代码审计工具源伞科技Pinpoint介绍 源伞科技Pinpoint 源伞科技2016年由香港科大团队创立 立足于国际水平的学术研究积累 秉承工匠精神 致力用最先进的自动程序分析技术保障软件质量 为企业提供以人工智能为基础的工业级程序缺
  • 虚拟聊天记录生成器,微信对话视频生成器,让微信对话以视频形式呈现!

    微信对话视频生成器是一款功能强大的工具 可以将微信聊天记录转化成生动有趣的视频 它不仅可以让用户在朋友圈或社交平台上展示自己的聊天趣事 还可以用于制作个性化的视频礼物 接下来 我们将介绍该工具的主要功能和解决问题的案例 输入聊天记录内容 直
  • C++学习日记和心得(一)(新手帖,高手勿笑)

    前言 我之前三年也学过其他语言 VB pascal 都不是非常主流 但有一定程序学习的基础 没学过程序的孩子也不要伤心 只要认认真真的学习还是可以学会的 我也是刚开始学C 所以希望大家跟我一同从0开始学习C 如果对我有一些疑问和批评欢迎提出
  • 【华为OD机试python】阿里巴巴找黄金宝箱(V)【2023 B卷

    题目描述 一贫如洗的樵夫阿里巴巴在去砍柴的路上 无意中发现了强盗集团的藏宝地 藏宝地有编号从0 N的箱子 每个箱子上面贴有一个数字 阿里巴巴念出一个咒语数字k k
  • 【100%通过率 】租车骑绿岛【华为OD机试 真题c++/java/python 2022 Q4

    华为OD机试 题目列表 2023Q1 点这里 2023华为OD机试 刷题指南 点这里 题目描述 部门组织绿岛骑行团建活动 租用公共双人自行车 每辆自行车最多坐两人 最大载重M 给出部门每个人的体重 请问最多需要租用多少双人自行车 输入描述
  • 什么是向上管理?意义?

    今天聊一个职场热词 向上管理 这两天刷到字节跳动的招聘官网 他们在阐述 坦诚清晰 的字节范儿时 提到了一句话 实事求是 暴露问题 反对 向上管理 这一点很有意思 因为 向上管理 几乎是职场入门必修课 所以我试着在字节跳动的文化语境中 来理解
  • 使用gcov+lcov工具可视化代码分支覆盖率数据

    通过一个简单的例子 来展示如何使用gcov lcov来生成代码分支覆盖率数据并将其图形化显示 假设有一个main cpp文件 1 首先使用gcc编译该文件 g main cpp fprofile arcs ftest coverage l
  • CUDA代码笔记(二) cudaOpenMP

    cudaOpenMP项目展示了如何在cuda项目中运用openmp技术 该项目位于cuda samples文件夹下的0 Simple cudaOpenMP文件夹下 在正式开始剖析代码之前 让我们先来了解一下openmp的背景知识 OpenM
  • Docker进阶:mysql 主从复制、redis集群3主3从【扩缩容案例】

    Docker进阶 mysql 主从复制 redis集群3主3从 扩缩容案例 一 Docker常规软件安装 1 1 docker 安装 tomcat 默认最新版 1 2 docker 指定安装 tomcat8 0 1 3 docker 安装
  • WinLicense&Themida 2019革命性升级,软件加密后破解难度突破天际

    随着软件普及程度 互联网技术的发展 以及正版软件购买用户数量和软件版本的增加 软件的保护变得越来越重要 而我们常见的软件保护方式有软件授权和软件加密 Oreans是西班牙非常著名的软件系统保护公司 提供代码混淆 版本控制等多种工具 其中Wi
  • CMake编译QT项目,解决undefined reference to vtable问题

    项目布局应为 src文件夹中存放cpp文件和包含了继承了QObject类的class的头文件 include文件夹中存放其他头文件 在项目文件夹中新建CMakeLists txt文件 新建build文件夹和lib文件夹 此时项目文件夹的结构
  • 通过maven配置不同的开发环境

    前言 项目有开发 测试 生产至少有这三个环境 所需要的配置信息肯定不一样 比如需要开发环境的时候 注解掉测试和生产的配置信息 打开开发的配置信息 后来工作接触到新项目 发现是通过maven来控制加载不同的配置文件 非常方便 所以这篇博客学习
  • 不一样的命令提示符、 PowerShell、windows terminal

    展示图片 怎么操作 1 打开Microsoft Store 软件商店 搜索windows terminal 2 安装即可 3 点击windows 最近添加windows terminal 4 点击设置 gt 默认值 gt 外观 5 滑到最底
  • 爬虫技术可以分析数据吗?

    目前在不少大数据团队中 数据分析和数据挖掘工程师通常都有明确的分工 数据采集往往并不是数据分析和挖掘工程师的任务 通常做爬虫的是大数据应用开发程序员或者是数据采集工程师 使用爬虫工具 的工作任务 但是对于数据分析工程师来说 掌握爬虫技术也是
  • 【RF时序预测】基于随机森林算法的时间序列预测附matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 内容介绍 随机森林算法是一种集成学习方法 通过组合多个决策树来进行分类和回归 算法的原理如下
  • c++ 实现贪吃蛇(含技术难点解析和完整代码)

    文章目录 0 参考资料 1 技术难点 1 1 关于光标的移动 1 2 关于蛇的移动 1 2 1 从键盘上读取输入 1 2 2 蛇的移动 1 3 食物的生成 2 完整代码 0 参考资料 借鉴了这位大佬的博客及代码 在其基础上进行了修改 特此鸣
  • Antd Pro新增表格页面(二)

    前言 承接上一篇博客Ant Design Pro 新增一个表格页面 一 继续对index tsx进行修改 请求相关修改 复制过来的index tsx文件中的请求都是rule的增删查改 将其修改为前文已经写好的接口请求 import rule