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

基于TypeScript+React+AntDesign 的车辆车型管理页面

项目目录结构:

my-app/├── node_modules/├── public/├── src/│   ├── App.js│   ├── VehicleForm.js│   └── index.js├── package.json└── README.md

目录

1.创建项目

2.列表页面VehicleForm.js,预留接口使用axios


1.创建项目

npx create-react-app my-app
cd my-app
npm install antd
npm install axios

App.js

// App.js
import React from 'react';
import 'antd/dist/reset.css'; // Import Ant Design styles
import VehicleForm from './VehicleForm'; // Import the VehicleForm componentconst App = () => {return (<div style={{ margin: '50px' }}><VehicleForm /></div>);
};export default App;

2.列表页面VehicleForm.js,预留接口使用axios

 

// VehicleForm.js
import React from 'react';
import { Form, Input, Button, Select, Row, Col, Tabs, Upload, message } from 'antd';
import { UploadOutlined } from '@ant-design/icons';
import axios from 'axios';const { Option } = Select;
const { TabPane } = Tabs;const VehicleForm = () => {// Placeholder function for form submissionconst handleFormSubmit = async (values) => {try {// Example API call for form submissionconst response = await axios.post('/api/vehicle/create', values);message.success('车型已创建成功');console.log('Form submission response:', response.data);} catch (error) {console.error('Error submitting form:', error);message.error('创建车型失败');}};// Placeholder function for file uploadconst handleFileUpload = (file) => {// Simulate file upload requestconst formData = new FormData();formData.append('file', file);axios.post('/api/vehicle/upload', formData).then(response => {message.success('文件上传成功');console.log('File upload response:', response.data);}).catch(error => {console.error('File upload failed:', error);message.error('文件上传失败');});// Prevent default upload behavior (since we're manually handling it)return false;};return (<div style={{ padding: '20px', backgroundColor: '#fff', borderRadius: '8px' }}><h2>创建自定义车型</h2><Form onFinish={handleFormSubmit} layout="vertical"><Row gutter={16}>{/* 参数标识 */}<Col span={8}><Form.Item label="参数标识" name="paramId"><Input placeholder="请输入参数标识" /></Form.Item></Col>{/* 车辆厂商 */}<Col span={8}><Form.Item label="车辆厂商" name="manufacturer"><Input placeholder="请输入车辆厂商" /></Form.Item></Col>{/* 车型用途 */}<Col span={8}><Form.Itemlabel="车型用途"name="useType"rules={[{ required: true, message: '请选择车型用途' }]}><Select placeholder="请选择车型用途"><Option value="passenger">乘用车</Option><Option value="commercial">商用车</Option></Select></Form.Item></Col></Row><Row gutter={16}>{/* 相机个数 */}<Col span={8}><Form.Item label="相机个数" name="cameraCount"><Input placeholder="请输入相机个数" /></Form.Item></Col>{/* 版本 */}<Col span={8}><Form.Item label="版本" name="version"><Input placeholder="请输入版本" /></Form.Item></Col>{/* 雷米波雷达个数 */}<Col span={8}><Form.Item label="雷米波雷达个数" name="radarCount"><Input placeholder="请输入雷米波雷达个数" /></Form.Item></Col></Row><Row gutter={16}>{/* 车型年份 */}<Col span={8}><Form.Itemlabel="车型年份"name="year"rules={[{ required: true, message: '请输入车型年份' }]}><Input placeholder="请输入车型年份" /></Form.Item></Col>{/* 备注 */}<Col span={16}><Form.Item label="备注" name="remark"><Input placeholder="参考注: 修改了***内容, 解决了***问题" /></Form.Item></Col></Row>{/* 上传按钮 */}<Form.Item><Upload beforeUpload={handleFileUpload}><Button icon={<UploadOutlined />}>上传车型参数</Button></Upload></Form.Item><Tabs defaultActiveKey="1" style={{ marginTop: '20px' }}><TabPane tab="车辆基础信息" key="1"><Upload beforeUpload={handleFileUpload}><Button icon={<UploadOutlined />}>基础信息上传</Button></Upload></TabPane><TabPane tab="开源版 Cam & Lidar 标定参数" key="2">添加内容</TabPane><TabPane tab="车联网参数" key="3">添加内容</TabPane><TabPane tab="传感器参数" key="4">添加内容</TabPane></Tabs>{/* 创建车型按钮 */}<Form.Item><Button type="primary" htmlType="submit">创建车型</Button></Form.Item></Form></div>);
};export default VehicleForm;

相关文章:

基于TypeScript+React+AntDesign 的车辆车型管理页面

项目目录结构&#xff1a; my-app/├── node_modules/├── public/├── src/│ ├── App.js│ ├── VehicleForm.js│ └── index.js├── package.json└── README.md目录 1.创建项目 2.列表页面VehicleForm.js,预留接口使用axios 1.创建项目 npx crea…...

sentinel-dashboard数据 redis 持久化

概述 随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来…...

【C++】——vector深度剖析模拟实现

低头赶路&#xff0c;敬事如仪 目录 1、模拟vector 1.1底层结构 1.2构造析构 1.3尾插扩容 1.4迭代器 1.5增删查改 1.6模拟中的注意事项 2、vector模拟补充 2.1迭代器区间构造问题 2.2memcpy深浅拷贝问题 2.3动态二维数组的模拟及遍历 1、模拟vector 想要模拟实现自…...

OpenCV特征检测(11)从一组点中检测直线的函数

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在一组点中使用标准霍夫变换查找直线。 该函数使用霍夫变换的一种改进方法在一组点中查找直线。 HoughLinesPointSet 是 OpenCV 中的一个函数&a…...

C++_24_适配器

A 函数对象 概念&#xff1a; ​ 重载函数调用运算符的类实例化的对象&#xff0c;就叫函数对象.又名仿函数,函数对象和&#xff08;)触发重载函数调用运算符的执行。 作用&#xff1a; ​ 为算法提供策略 示例&#xff1a; #include <iostream> using namespace s…...

算法.图论-并查集

文章目录 1. 并查集介绍2. 并查集的实现2.1 实现逻辑2.2 isSameSet方法2.3 union方法(小挂大优化)2.4 find方法(路径压缩优化) 3. 并查集模板4. 并查集习题4.1 情侣牵手4.2 相似字符串组 1. 并查集介绍 定义&#xff1a; 并查集是一种树型的数据结构&#xff0c;用于处理一些不…...

elasticSearch常见命令及历史数据迁移

es这种非关系型数据库&#xff0c;感觉可视化效果不是很好&#xff0c;个人在操作中&#xff0c;习惯性通过简单的方式去访问。也是接触不久。只能出一些基操。共同学习记录&#xff0c;大家有好的操作也可留言备注。 1&#xff0c;常见命令 1&#xff09;查询有哪些index&…...

WebLogic 漏洞复现

1、后台弱⼝令GetShell 默认账号密码&#xff1a;weblogic/Oracle123 weblogic常⽤弱⼝令&#xff1a;https://cirt.net/passwords?criteriaweblogic 这⾥注意&#xff0c; 单个账号错误密码5次之后就会⾃动锁定。 http://47.121.212.195:7001/console 2、登录后台后&#…...

web基础:域名、网页、HTML、web版本

文章目录 引言域名网站访问方式域名结构域名解析DNS解析过程 网页网页文件类型静态网页与动态网页常用动态网页编程语言 HTMLHTML 语法规则HTML 文件结构HTML 文件基本结构示例&#xff1a;常用 HTML 标签HTML文件基本结构 WEB版本 引言 web&#xff08;World Wide Web&#x…...

【项目案例】物联网比较好的10+练手项目推荐,附项目文档/源码/视频

练手项目推荐 1 智能小车 项目功能介绍&#xff1a; 本项目由三部分组成&#xff1a;应用端&#xff08;微信小程序&#xff09;、设备端&#xff08;Hi3861&#xff09;、驱动端&#xff08;UPS&#xff09;。 1. 应用端&#xff0c;采用微信小程序作为应用端控制界面。在开…...

AWS注册时常见错误处理

引言 创建AWS账号是使用AWS云服务的第一步&#xff0c;但在注册过程中可能会遇到一些常见的问题。本文中九河云将帮助您排查和解决在创建AWS账户时可能遇到的一些常见问题&#xff0c;包括未接到验证电话、最大失败尝试次数错误以及账户激活延迟等。 常见问题及解决方法 1. …...

Spark-RDD持久化

一、Spark的三种持久化机制 1、cache 它是persist的一种简化方式&#xff0c;作用是将RDD缓存到内存中&#xff0c;以便后续快速访问&#xff0c;提高计算效率。cache操作是懒执行的&#xff0c;即执行action算子时才会触发。 2、persist 它提供了不同的存储级别&#xff0…...

vue2中使用tailwindCss 详细教程

1、先看官方文档:https://www.tailwindcss.cn/ 2、先安装:npm install -D tailwindcss ---------------通过 npm 安装 tailwindcss,然后创建你自己的 create your tailwind.config.js 配置文件。 npm install -D tailwindcss 3、初始化文件—npx tailwindcss init npx ta…...

机器视觉工程师一直做调试,维护岗位,想转岗软件方面C#从零开始,快则三年不到,慢则一辈子不会

其实不是每一家做视觉检测&#xff0c;或者是做设备必须要机器视觉工程师开发&#xff0c;其实公司对标准软件更感兴趣&#xff0c;主要非常高的性价比&#xff0c;省时省钱省人。所以这里有个问题&#xff0c;就是公司平台的重要性&#xff0c;首先他对开发是刚需&#xff0c;…...

【初阶数据结构】详解二叉树 - 树和二叉树(三)(递归的魅力时刻)

文章目录 前言1. 二叉树链式结构的意义2. 手搓一棵二叉树3. 二叉树的遍历&#xff08;重要&#xff09;3.1 遍历的规则3.2 先序遍历3.3 中序遍历3.4 后序遍历3.5 遍历的代码实现3.5.1 先序遍历代码实现3.5.2 中序遍历代码实现3.5.3 后序遍历代码实现 4. 统计二叉树结点的个数5.…...

【QT】QWidget 重要属性

文章目录 enabledgeometrywindowTitlewindowIconqrc 机制windowOpacitycursorfontQFont toolTip 和 toolTipDurationfocusPolicyQt::FocusPolicy styleSheet enabled 作用&#xff1a;设置控件是否可使用. true 表⽰可用, false 表⽰禁用. 对应的API bool isEnabled(); // 获…...

什么是数据库连接池?为什么需要使用连接池?

什么是数据库连接池&#xff1f;为什么需要使用连接池&#xff1f; 什么是数据库连接池&#xff1f; 数据库连接池是一种创建和管理数据库连接的技术。在传统的应用程序中&#xff0c;每当需要与数据库进行交互时&#xff0c;都会创建一个新的数据库连接。 这种做法虽然简单…...

2024ICPC网络赛第一场C. Permutation Counting 4(线性代数)

题目链接 题目大意&#xff1a;给你n个范围[ l i , r i l_i,r_i li​,ri​]&#xff0c;每个位置可以在这个范围中选择一个数&#xff0c;然后形成排列1到n的排列p。问p的所有情况的个数的奇偶性。 一个很妙的行列式转化&#xff0c;纯纯的线性代数。 首先&#xff0c;我们把…...

01.前端面试题之ts:说说如何在Vue项目中应用TypeScript?

文章目录 一、前言二、使用Componentcomputed、data、methodspropswatchemit 三 、总结 一、前言 与link类似 在VUE项目中应用typescript&#xff0c;我们需要引入一个库vue-property-decorator&#xff0c; 其是基于vue-class-component库而来&#xff0c;这个库vue官方推出…...

【HTTP】方法(method)以及 GET 和 POST 的区别

文章目录 方法&#xff08;method&#xff09;登录上传GET 和 POST 有什么区别&#xff08;面试&#xff09;区别不准确的说法 方法&#xff08;method&#xff09; 首行中的第一部分。首行是由方法、URL 和版本号组成 方法描述了这次请求想干什么&#xff0c;最主要的是&…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...