组件化的可编辑数据表格

本文介绍了如何设计并实现一个前端页面来展示和管理学生数据。通过Ajax和axios获取及更新JSON文件中的学生信息,使用模板字符串动态渲染页面。功能包括显示成绩、删除学生和修改分数,但遇到输入汉字导致表格数据丢失的问题尚未解决。
摘要由CSDN通过智能技术生成

一.效果展示

 二.设计思路

先将页面的基本结构和样式写好,将所有的学生数据信息写在package.json文件中。定义一个空数组,通过Ajax将表格中的内容保存在student中。
通过getStudents()方法从服务端获取数据,由于表头是由HTML直接渲染到页面上不需要从json文件中获取,然后通过axios.get()从json文件中获取学生数据。通过forEach循环获取json文件中student的每个学生的具体信息,赋值给事先定义好的变量(id、name…),最后通过模板字符串渲染到页面上。
在getStudents()方法中调用changeScore()方法和deleteStu()方法
changeScore()方法:在模板字符串中为存放学生成绩的td标签添加class属性,然后获取所有的td标签,通过for循环为每个td添加点击事件,当点击一个td后,将这个标签的display属性设为none,再创建一个td标签,一个input标签,将input的值填入之前表格中存的分数,将td节点插入到原位置,然后再将创建好的input插入到td节点上,作为子节点。
deleteStu():在模板字符串的最后一个td标签中再添加一个button标签,通过获取其指定的id值,然后通过axios.delete()从json文件中删除指定id的学生数据。
新增学生数据,获取所有输入学生信息的input标签的value值,然后为button按钮添加点击事件,通过axios.post()向json文件中新增数据。

三.核心代码

 更新单元格内容

删除表格行

 

四.总结与反思 

在做界面的时候内容设置的比较简单,分数的计算完成度实现。删除按键完成度实现。但是输入字符汉字无法识别,表格会变成null,未能解决这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值