【实习日记】在对话框中写一个表单

博客作者分享了在使用Ant Design(Antd)进行前端开发时遇到的难点,包括Antd样式的自定义、文件上传的进度显示、下拉框组件的编写以及表单数据管理。解决方案涉及使用style标签和css-in-module调整样式,通过FormData处理文件上传,以及深入理解Antd文档以优化代码。作者还表达了学习Antd设计理念和源码的意向。
摘要由CSDN通过智能技术生成

页面大概是下面这个样子
在这里插入图片描述
在这里插入图片描述
说说其中几个遇到的难点吧(东西不难,我太菜了)

  1. antd 样式和布局不好改,直接修改 style 属性代码会变得臭长;
  2. 文件上传,设为自定义上传后进度条没了;
  3. 活动图标下拉框的书写,比较绕;
  4. antd 自己维护表单数据,有时数据可能更新但不会触发页面重渲染

解决思路:

  • antd 样式使用 style 标签修改,布局搭配 css-in-module 单独处理
  • 这里文件上传只拿到一个 File 对象,最后提交的时候一块放到 FormData 中(不过还没和后端联调,后续未知)。因为直接获得 File 对象,进度条没就没吧,这种方案拿到进度条也是秒 100% 的…
  • 下拉框大概长下面这样(样式好像出了点问题…)

**「选择模式」**选择上传的图标
在这里插入图片描述
「删除模式」 点击后出现确认删除气泡框在这里插入图片描述
为什么说绕呢?因为我现在都表达不清楚,等整理好了再回头写吧🤨

  • 第四条也暗示着我得熟悉熟悉人家的文档了,要不写出的代码又臭又长。

有时间学一学 Antd 的设计理念吧,顺便看一看他的源码。虽然自己也用 React + TS 写过几个小组件,不过很久不碰,谁又能保证不会忘呢?

好的,您可以按照以下步骤实现: 1. 在页面中添加一个表单,包含需要显示的数据。 2. 添加一个按钮或链接,用于触发Ajax请求。 3. 使用jQuery或其他JavaScript库编写Ajax请求代码,发送请求到服务器。 4. 在服务器端处理请求,将表单数据以JSON格式返回。 5. 在客户端使用Ajax的成功回调函数,将返回的JSON数据解析,并将数据显示在对话框中。 以下是一个简单的示例代码,供参考: HTML代码: ```html <form id="myForm"> <label for="name">姓名:</label> <input type="text" id="name" name="name"><br> <label for="age">年龄:</label> <input type="text" id="age" name="age"><br> <label for="gender">性别:</label> <select id="gender" name="gender"> <option value="male">男</option> <option value="female">女</option> </select> </form> <button id="showData">显示数据</button> <div id="dialog"></div> ``` JavaScript代码: ```javascript $(document).ready(function() { $("#showData").click(function() { $.ajax({ url: "getData.php", // 替换为处理请求的服务器端脚本文件 type: "POST", data: $("#myForm").serialize(), // 将表单数据序列化为字符串 dataType: "json", success: function(data) { $("#dialog").html("姓名:" + data.name + "<br>年龄:" + data.age + "<br>性别:" + data.gender); // 将返回的JSON数据解析,并将数据显示在对话框中 }, error: function() { alert("请求失败,请稍后重试!"); } }); }); }); ``` 在服务器端脚本文件(例如getData.php)中,可以使用以下代码将表单数据转换为JSON格式并返回: ```php <?php $name = $_POST['name']; $age = $_POST['age']; $gender = $_POST['gender']; $data = array("name" => $name, "age" => $age, "gender" => $gender); echo json_encode($data); ?> ``` 当用户点击“显示数据”按钮时,客户端将发送Ajax请求到服务器端处理脚本文件(getData.php),并将表单数据作为请求参数发送。服务器端脚本将表单数据转换为JSON格式并返回,客户端使用Ajax的成功回调函数将返回的JSON数据解析,并将数据显示在对话框中。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值