讲师管理前端-讲师添加 | 学习笔记

简介: 快速学习讲师管理前端-讲师添加

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot)讲师管理前端-讲师添加学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/667/detail/11340


讲师管理前端-讲师添加


内容简介

一、添加讲师功能

二、在表单页面点击保存,提交接口,添加数据库


一、添加讲师功能

路由里面有一个添加讲师,点击添加讲师按钮,添加讲师数据,进入表单页面,输入讲师信息,点击添加讲师到表单的页面中,输入讲师名称、头衔和资历等,会保存到数据库中。

表单用 element –UI,刚才做条件查询中部分加到讲师位置,加上一个表单,直接复制表单,复制页面,复制到表单页面中,在路由里面的添加讲师,把代码复制到save 的页面中,复制 el-form 表单。

save.vue teacheris

<template>

<div class="app-container">

讲师添加

<el-form label-width="120px">

el-form-item- label="讲师名称">

<el-input v-model="teacher. name"/>

</el-form-item>

<el-form-item label=讲师排序“>

<el-input-numberv-model="teacher.sort" controls-position="right" min=""/>

</el-form-item>

<el-form-item- label="讲师头衔

el-select- v-model-="teacher. level" clearable placeholder=请选择">

<--

数据类型一定要和取出的 json 中的一致,否则没法回填,因此,这里 value 使用动态绑定的值,保证其数据类型是 number

--

el-option-: value=1 label=高级讲师/

el-option: value=2 label="首席讲师"

</el-select>

</el-form-item>

1: node

调试控制台传端

有一个 button 保存按钮,头衔在数据库存的不是高级特级讲师,保存的是一和二,写上一个 select option,最终 value 值会提交,一和二最终显示是高级讲师和首席讲师。

表单中清楚的看到一个地方,v-model 是一个双向数据绑定,条件值最终会封装到一个对象中去,接口中做的特点是直接用 jason 的数据保存到对象中去,做添加。

结构写完之后,先写几个初始值,就是v-model 的值,对象用于封装里面的这些值,teacher 里面可以加上具体的属性,不加也可以,加上也没有错,在例子中没有加,换一种写法,把这些值都加上,直接从课件中复制。

除了这几个值之外,disabled 的表示是否可用,在页面中点击添加之后,预防重复多次停掉的问题,默认值 false,下面把初始值都加进去了。

先看一下默认的效果,之后再写接口的调用过程。重新刷新,点击添加讲师,看下效果,出现表单,讲师名称,比如张老师,讲师头衔为首席讲师,讲师资历和讲师简介都随便写,最后点击保存数据都加到数据库中。


二、在表单页面点击保存,提交接口,添加数据库

因为最后要点击保存,保存是一个 button 的按钮,在按钮中保存一个事件,方法叫 saveOrUpdate,这个方法曾经提到,可以加括号,也可以不写。

在 methonds 中添加方法,这个方法有个特点,方法的命名特点,save 是保存,or 是或者,update 是修改。以下做修改的时候,修改和添加共用一个表单,这样更加方便。

下面单独写方法,叫做添加讲师的方法,这个页面就要做添加,也要做修改。先写一个保存,saveTeacher 的方法,里边先做个调用,之后再完善。

这个写完之后,方法就做出来了 包括teacher在上面有 v-model,最后调用接口,在 API 中的里面直接把方法定义出来。

方法就叫做加讲师,Add teacher,对象是 teacher,结构跟上面一样,在结构中 首先添加上接口的路径,就是 add teacher,前面都一样,用Post提交。

接口中用的是 request body,需要通过 jason 传递,页面中需要传递 jason,要添加 data: teacher,就可以把 teacher 转换到 jason 传进去,所以在 API 中添加一个这样的方法。

(1)API 定义接口地址 

代码:

//添加讲师

addTeacher(teacher){

return request({

url: /eduservice/teacher/addTeacher',

method: 'post',

data: teacher

})

}

在 teacher.js 中把方法定义出来

(2)、在页面实现调用

在页面中需要调用,首先进行引入。

import teacher from '@/api/edu/teacher

再进行调用,为了区分明显,把名字换一下。

/添加讲师的方法

saveTeacher(){

teacherApi. addTeacher( this. teacher)

thenresponse=添加成功

/提示信息

this. Smessage({

type: 'success',

message:添加成功!

})

回到列表页面路由跳转

this.Srouter. push( {path: '/teacher/table'})

}

在页面中添加数据,保存之后添加成功,第一个事情需要给用户提示,提示添加数据成功。

第二步,当保存之后,回到列表页面中,在列表中显示你添加之后的最新数据。

调整格式,写完之后需要回到列表中去,是在添加讲师的页面中,回到列表中需要到讲师列表中 这两个是不同的界面,有一个说法叫做路由的切换。

看一下,这个是默认的路径,点击讲师列表 叫做 teacher/ table,再次点击添加讲师到 Teacher /save,需要变成table才可以,这叫做路由跳转。

可以用重定向操作来理解,这个代码是比较固定的代码,

加上地址叫做 table,复制,当点击保存之后 先提示成功 然后路由跳转 回到列表页面中 在列表页面中进行调用,才可以查出最新的数据。

如果一个地方到另一个地方,需要路由跳转方式。

写完之后,试一下最后的效果。路由中的表单用v-model 双向绑定,绑定中可以加属性 不加也可以,加完之后点击保存会提交数据 到接口中去把接口的方法调用进来。

在页面中先引入,再进行调用,调用之后添加成功 成功之后先提示信息,再回到列表页面,因为是不同的路由,每次的值不一样,通过的方式叫路由跳转,这个写法是固定的。

在写的过程中,不需要 created 调用,这个调用是点击按钮调用,不需要多写。写完之后试一下最终的结果,首先刷新,点击添加讲师,在这里面随便写几个值,点击保存查看效果,显示成功,并且回到了列表页面,数据没有做排序,为了更加明显,数据简单排个序。

一般来讲,每次新加的数据应该在第一行显示,要把数据排序,先根据时间排序,把代码稍微改造一下,找到列表方法中,加一个排序的条件。

wrapper. orderByDesc(...columns: "gmt_create"):

根据时间做一个降序排列,这样每次新加的数据都在第一个显示。

重启,试一下。

重新试一下,点击添加教师加数据,点击保存 提示成功 回到列表页面,在列表中的第一个数据,就是刚刚添加的。

data 表示把数据变成 jason 添加。

相关文章
|
7月前
|
XML 前端开发 JavaScript
前端图形学实战: 从零实现编辑器的图层管理面板和实时缩略图(vue3 + vite版)
前端图形学实战: 从零实现编辑器的图层管理面板和实时缩略图(vue3 + vite版)
113 0
|
2月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
44 0
|
4月前
|
JavaScript 前端开发 程序员
后端程序员的前端必备-jQuery核心学习笔记
后端程序员的前端必备-jQuery核心学习笔记
58 13
|
6月前
|
前端开发 安全 JavaScript
前端工程化实战 - 日程管理
前端工程化实战 - 日程管理
46 0
|
7月前
|
JavaScript 前端开发
TypeScript 学习笔记(六):TypeScript 与前端框架的结合应用
笔记,进一步提升 TypeScript 编程技能。
86 1
|
6月前
|
资源调度 前端开发 JavaScript
前端工程化实践:Monorepo与Lerna管理
**前端工程化中,Monorepo和Lerna用于大型项目管理。Monorepo集纳所有项目,便于代码共享、版本控制和CI/CD。Lerna是Monorepo工具,管理多npm包,支持独立或共享版本。安装Lerna用`npm install --save-dev lerna`,初始化后可创建、管理包,通过`lerna bootstrap`、`lerna add`、`lerna publish`等命令协同工作。Lerna配置可在`lerna.json`,与CI/CD工具集成实现自动化。
75 0
|
7月前
|
存储 安全 前端开发
PHP医院安全不良事件管理系统源码(AEMS)前端vue2+element+后端laravel8不良事件上报与闭环管理
医院不良事件上报与管理系统结合现代医院管理思路,遵照PDCA全面质量循环管理方法而设计,并在多家大型三甲医院成熟运用。系统从事件上报、基于人、机、料、法 、环的RCA分析、事件整改、效果评估实现了结构化、标准化、智能化的管理和分析,满足医院可追溯化、全流程闭环管理要求,满足等级医院评审细则要求,大力提高医院不良事件上报的效率,保障事件分析的准确性,促进医疗安全的提高,避免同类事件再次发生,改善整个医院医疗安全,从而实现医院安全医疗的目标。
80 3
|
7月前
|
前端开发 开发者 UED
【Flutter前端技术开发专栏】Flutter中的图标、字体与样式管理
【4月更文挑战第30天】本文介绍了在Flutter中管理图标、字体和样式的做法。Flutter提供`Icons`类用于内置矢量图标,支持第三方图标库如FontAwesome。自定义字体可通过添加字体文件至`assets`目录并配置`pubspec.yaml`,然后使用`TextStyle`设置。借助`ThemeData`,开发者能统一管理应用主题样式,局部样式可覆盖全局。通过集中管理样式,提升代码复用性和应用一致性。
181 0
【Flutter前端技术开发专栏】Flutter中的图标、字体与样式管理
|
7月前
|
存储 JavaScript 前端开发
【Flutter 前端技术开发专栏】Flutter 中的状态管理框架(如 Provider、Redux 等)
【4月更文挑战第30天】本文探讨了 Flutter 开发中的状态管理,重点介绍了 Provider 和 Redux 两种框架。Provider 以其简单易用性适合初学者和小项目,而 Redux 则适用于大型复杂应用,保证状态一致性。此外,还提到了 Riverpod 和 BLoC 等其他框架。选择框架时要考虑项目规模、团队技术水平和个人偏好。文章通过购物车应用示例展示了不同框架的使用,并展望了状态管理框架的未来发展。
176 0
【Flutter 前端技术开发专栏】Flutter 中的状态管理框架(如 Provider、Redux 等)
|
7月前
|
JavaScript 前端开发 开发者
【Flutter前端技术开发专栏】Flutter中的Widget与状态管理
【4月更文挑战第30天】本文探讨了Flutter的Widget和状态管理。Widget是Flutter构建UI的基础,分为有状态和无状态两种。状态管理确保UI随应用状态变化更新,影响应用性能和可维护性。文章介绍了`setState`、`Provider`、`Riverpod`、`Bloc`和`Redux`等状态管理方法,并通过计数器应用展示了其实现。选择合适的状态管理策略对高效开发至关重要。
96 0
【Flutter前端技术开发专栏】Flutter中的Widget与状态管理