【测试开花】五、项目管理-前端-实现查询、新增功能

2023-11-18

基于 springboot+vue 的测试平台开发继续更新。

一、查询功能

在之前的项目列表接口里,支持使用项目名称模糊查询,现在来实现前端。

1. input 输入框

到组件库里找个输入框:

复制代码,修改代码:

  • v-model: 绑定了下面 data 中的projectQuery.projectName
  • style="width:20%": 调整输入框宽度。
  • size="small": 调整输入框整体大小,参考elementUI组件库对应的文档说明。
  • placeholder: 占位符显示,输入框里的提示信息。
  • clearable: 输入框清空功能。
2. 查询按钮

到组件库里找个输入框:

修改代码:

  • 这里用了一个
    标签把输入框和查询按钮包了起来,方便后续如果有需要整体调整下样式啥的。
  • style="margin-left: 10px"调整了下按钮的左边距,让按钮和输入框之间留出点间隔。
  • @click="fetchData"绑定一个点击事件,点击按钮的时候调用fetchData方法。

测试一下根据项目名称模糊查询,输入:0915,点击查询。

查询功能完成。

二、新增功能

1. 新增按钮

新增接口之前已经实现好了,现在实现前端。

使用这个嵌套了表单的对话框。

这个触发按钮,就改成【新增】按钮,放到【查询】按钮的后面。

效果是这样的:

2. 对话框

新增页面这里只需要输入项目名称和描述即可,所以就是 2 个简单的输入框。

另外,复制代码的时候也需要把组件里需要用到的 data 也拷贝过来,替换成我们自己需要用的。

  • dialogFormVisible,visible属性绑定的值,它接收Boolean,当为true时显示 Dialog 对话框。
  • form 就是保存新增页面里填写的字段值。
  • formLabelWidth 这个控制了这个表单的整体的宽度。

现在修改对话框表单的页面内容:

可以更加自己的要求来调整样式,我的大概如此:

3. 新增数据

点击【保存】按钮,要保存数据到表里,然后关闭弹窗,刷新列表页,展示新增的数据。

(1)添加接口

后端接口已实现,现在添加到 js 文件src/api/projectManagement.js里。

export function addProject(data) {
  return request({
    url: '/bloomtest/project/add',
    method: 'post',
    data: data
  })
}

(2)绑定点击事件

在对话框【保存】按钮上绑定一个点击事件。

<el-button type="primary" @click="add">保 存</el-button>

这里要去掉复制出来的@click="dialogFormVisible = false",只能绑定一个事件,如果要绑定多个,需要使用addEventListener(),后续再说。

(3)add 方法调用接口

在 methods 里增加上面按钮点击事件的方法 add,方法的作用是调用 js 文件里的添加接口。在使用方法之前要先导入进来:

import { getList, addProject } from '@/api/projectManagement'

编写 add 方法:

  • addProject(this.form),需要传入表单的参数。
  • then(),就是当 .then() 前的方法执行完后再执行 then()内部 的程序,这里就是用来处理请求之后的事情。

保存成功提示信息,依然到组件库里寻找,这里就用它:

另外,在这里可以加个判断,当接口返回状态码是20000时,提供保存成功,其他提示保存失败。

关闭对话框,就是修改下 dialogFormVisible 的属性为 fasle:

this.dialogFormVisible = false

刷新列表,我可以再调一次查询方法即可:

this.fetchData()

最后,完整的 add 方法:

测试一下效果,可以正常保存,对话框关闭,提示成功。

但是发现 2 个问题

  • 再次点击新增的时候,对话框里还显示上一次的内容。
  • 列表没排序,新增的数据在后面的页,展示不直观。

解决 问题1

在新增方法里,把表单里的字段值设为空字符串即可:

// 清空表单
    this.form.projectName = ''
    this.form.description = ''

解决 问题2

调整列表接口,增加排序 order by,按照 id 倒序。

最后,重新测试一下新增。

输入内容,保存。

功能完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【测试开花】五、项目管理-前端-实现查询、新增功能 的相关文章

  • PouchDB 和 CouchDB 的 Cookie 身份验证并未实际登录用户

    我有一个节点应用程序 它使用 CouchDB 作为数据库 在客户端使用 PouchDB 要登录 将向节点服务器发送请求 节点服务器使用 CouchDB 实例对用户的凭据进行身份验证 然后将 cookie 发送回客户端 问题是 重新启动浏览器
  • 如何在jsdoc上添加和使用标签?

    我正在尝试向 jsdoc 添加自定义标签 我在插件目录中创建了一个文件 如下所示 方法 js exports defineTags function dictionary dictionary defineTag methodHttp mu
  • 如何使用给定 jQuery 选择中找到的元素生成对象

    在以下人员的帮助下 我有以下 jQuery 选择LGSon的回答 https stackoverflow com a 51113888 1375163 to an 先前的问题 https stackoverflow com question
  • 匹配不可打印/非 ASCII 字符并从文本中删除

    我的 JavaScript 很生疏 所以任何有关这方面的帮助都会很棒 我需要检测字符串中的不可打印字符 控制字符 如 SOH BS 等 以及扩展 ascii 字符 如 并将其删除 但我不知道如何编写代码 谁能指出我正确的方向来解决这个问题
  • React Native + Redux 基本身份验证

    我正在寻找一种为我的反应本机应用程序创建基本身份验证的方法 我找不到任何反应本机应用程序的好例子 要登录 应用程序将电子邮件 密码 clientSecret 发送到我的服务器 如果OK 服务器返回accessToken refreshTok
  • 使用 JavaScript 解析时间

    这可能很简单 但我有点困惑如何做到这一点 我如何使用 JavaScript 仅解析以下内容中的时间ISO 8601 http en wikipedia org wiki ISO 8601日期字符串 2009 12 06T17 10 00 换
  • 如何通过文本搜索返回 JSON 数组中项目的索引位置?

    这是我的 JSON 数组 var planets Name Mercury Temperature 427 C Position 1 Name Venus Temperature 462 C Position 2 Name Earth Te
  • JavaScript 等待函数响应

    我有以下代码 myFunc bar myFunc 正在发出 ajax 请求 在 myFunc 的请求完成之前 我不想执行 bar 我也不想将对 bar 的调用移至 myFunc 内部 可能的 EDIT 这是我最终得到的代码 var FOO
  • Vimeo 播放器 JS API 在 iOS 中无法运行

    我正在尝试使用 API 来播放视频 但只有在 iOS 中单击播放器中的播放按钮后它才有效 在桌面版和 Android 版 Chrome 中 它运行良好 http codepen io bdougherty pen JgDfm http co
  • 在原始文件之后插入克隆文件

    我试图在原始元素之后放置一个克隆元素 我做了一些研究 发现了如何创建克隆以及如何将克隆放置在原始副本之后 但我似乎无法将它们放在一起 这是我的代码
  • JavaScript 数组 every 和 some 之间的区别

    我看到在给定的测试中两者都返回 true 或 false https developer mozilla org en US docs Web JavaScript Reference Global Objects Array some h
  • 如何修改 Elasticsearch 文档的 _source 字段

    问题 有没有办法从文档的 source 中清除 html html 的剥离可以是周期性的 触发的 或者理想情况下是在索引时即时进行的 我将数据输入到elasticsearch中 并针对分析器进行索引 该分析器在索引之前剥离不需要的htmls
  • 读取 Nashorn JO4 和 NativeArray

    Java调用代码 import jdk nashorn api scripting myCustomHashMap dataStore new myCustomHashMap ScriptEngineManager sem new Scri
  • Chrome 打包应用程序 - 在后台/事件页面中使用 AngularJS

    当我们创建 Chrome 应用程序时 我们将脚本放在背景属性中清单 json file 这将用作应用程序的背景 事件页面 我想要的是 我想使用 AngularJS后台脚本但我不知道怎么办 还有 这可能吗 我刚看到一些答案 https sta
  • 无法解构“undefined”或“null”的属性“user”

    使用 redux 检索用户信息时出错 我想从数据库获取用户信息 姓名 密码和头像地址 然后对其进行编辑 我正在使用nodejs express react redux 和jwt Actions user js import axios fr
  • 如何使用 JQuery 提取嵌套 HTML 中的文本?

    我这里有 HTML 代码 div class actResult style border solid table tbody tr td Order Number td td 1 td tr tr td Customer Number t
  • 为什么onClick下一个视频函数,使用YouTube JavaScript Player API,质量下降到默认?

    我在 CodeIgniter 上遇到了这个问题 使用 next video API 函数 单击按钮时新视频的质量比以前的低 所以基本上第一个视频始终处于我建议的质量 而下一个始终处于默认质量 On my template我有这个div di
  • 无需递归即可展平多个嵌套数组的数组 - javascript

    也许这是一个愚蠢的问题 但我无法意识到是否可以在不使用递归的情况下展平多维数组 我用递归编写了一种解决方案 function transform arr var result arr forEach flatten function fla
  • Mongoose - 遍历对象

    在 node js 上使用 mongoose 我试图找到玩家 game players id 等于我传递的 id 的所有游戏 Schema var Game mongoose Schema id String date type Date
  • Google 地图 v3 信息窗口在地图视口外打开

    如果单击地图视口顶部附近的标记 信息窗口将加载到可视区域之外 并且必须拖动地图才能查看信息窗口内容 理想情况下 我不希望地图自动平移 有没有办法以不同的方向加载信息窗口 例如如果标记位于视口的顶部 则以向下的方向显示信息窗口 不 你不能以不

随机推荐

  • pyecharts的各个系列配置项设置示例——个人整理与分享

    由于在使用pyecharts时我们有很多对图表的配置项设置需要用到全局配置项和系列配置项 因此在对pyecharts的图表进行介绍之前先进行个人在pyecharts官网对系列配置项学习的整理 因为个人在官网对代码的查看没有特别舒服 其中包含
  • Nuxt3如何使用Tailwindcss?

    最近在Nuxt3项目中使用tailwindcss碰到一些问题 经研究后把问题解决 为避免此类问题特此把解决过程写下来做个记录 Nuxt3官网 tailwindcss官网 创建Nuxt3应用 须确保node js版本大于16 11 Nuxt3
  • 搜索技巧

    搜索技巧 一 完全匹配搜索 里面的就是完全搜索 例如 胡文迪 就会找完全匹配胡文迪三个字的相关结果 如果没有检索到 二 搜索范围限定在标题 intitle xx allintitle xx xx 在查询词前加上intitle xx 如果是多
  • 步进电机 - 构造与动作原理(二)

    第2章 构造与动作原理 2 1 构造 1 基本构造与动作原理 通过简易的示图讲解步进电动机的基本构造和动作原理 基本构造和动作原理 下图为步进电动机简易示图 对线圈L1进行通电时 L1会被磁化 中间部分的磁铁被LI吸引 并于平衡后停止 对线
  • 解决IntelliJ IDEA 项目结构旁边出现 0%classes,0% lines covered

    解决IntelliJ IDEA 项目结构旁边出现 0 classes 0 lines covered 官方文档解答 两种方法 解决IntelliJ IDEA 项目结构旁边出现 0 class 0 lines covered 官方文档解答 F
  • vector 查找/查找和对比结构体元素值

    原地转 http www cplusplus com reference algorithm find if include
  • SP706_MCU监控芯片

    SP706 MCU监控芯片 说明 SP706R S T系列是微处理器 P 监控电路系列 集成了离散解决方案的无数组件 监控 P和数字系统中的电源和电池 SP706R S T系列的功能包括看门狗定时器 P复置 电源故障比较器和手动重置输入 S
  • ELK 性能优化实践

    点击上方蓝色 方志朋 选择 设为星标 回复 666 获取独家整理的学习资料 一 背景介绍 近一年内对公司的 ELK 日志系统做过性能优化 也对 SkyWalking 使用的 ES 存储进行过性能优化 在此做一些总结 本篇主要是讲 ES 在
  • 小程序录音及其动画

    基础功能可以这样写 挺简单的 const recorderManager wx getRecorderManager const innerAudioContext wx createInnerAudioContext Page data
  • 拓世科技集团

    2023年 中国改革开放迎来了45周年 改革春风浩荡 席卷神州大地 45年间 中国特色社会主义伟大事业大步迈入崭新境界 一路上结出了饶为丰硕的果实 中华民族在这45年间的砥砺前行 不仅使中国的经济和社会发展达到了举世瞩目的成就 也在国家民主
  • 通过 ffmpeg 无损剪切/拼接视频

    剪切 拼接视频文件是一种常见需求 在线视频网站现在往往将一个视频文件分割成 n 段 以减少流量消耗 使用 DownloadHelper DownThemAll 这类工具下载下来的往往就是分割后的文件 能实现剪切 拼接视频文件的工具多种多样
  • java.lang.NumberFormatException: null的解决方法

    1 首先附上我的代码 Integer reviewid Integer valueOf request getParameter reviewid System out println reviewid Integer articleid
  • 避免’sudo echo x >’(sudo 重定向) 时’Permission denied’

    避免 sudo echo x gt 时 Permission denied 甲 示例 sudo echo a gt 1 txt bash 1 txt Permission denied 乙 分析 bash 拒绝这么做 说是权限不够 这是因为
  • 【Linux之Shell脚本实战】Linux创建新用户脚本

    Linux之Shell脚本实战 Linux创建新用户脚本 一 脚本要求 二 本地环境介绍 三 配置脚本注释模板 1 编辑 vimrc 文件 2 检查模板生效情况 四 编辑useradd sh 1 新建脚本目录 2 编辑useradd sh脚
  • hibernate注解自动生成数据表

    按习惯来说 一般系统开发都是从数据库开始设计的 但从面向对象开发的角度 系统的设计应该基于对象模型的设计之上 主要考虑对象的设计和逻辑 然后按照对象模型生成数据库结构 利用hibernate的SchemaExport对象可以方便的实现这一点
  • Python数据分析与应用目录

    Python数据分析与应用目录 第1章 Python数据分析概况 1 1 认识数据分析 1 2 熟悉Python数据分析的工具 1 3 Jupyter Notebook 快捷键 第2章 NumPy数值计算基础 2 1 掌握NumPy数组对象
  • 云服务中执行wget,报403

    问题复现 云服务器中配置完nginx后 通过wget测试 报403 解决方法 根目录执行如下命令 chmod R 777 root chmod R 777 root test server chmod R 777 root test ser
  • 在react项目中,使用craco插件进行mobx配置解决方案

    在使用react项目中 不可避免的要使用蚂蚁金服出品的ant desgin前端UI组件 ant desgin推荐使用 craco 一个对 create react app 进行自定义配置的社区解决方案 对 create react app
  • 一台服务器如何部署多个tomcat和项目(最详细的图文教程!!!)

    前言 提示 部署多个项目的方法有很多种 本文记载的是在Windows下 安装多个tomcat通过修改端口来部署项目 Linux部署方式大同小异 第一步 解压tomcat安装包后 复制一份并且重命名 多个tomcat就多复制一份 没有tomc
  • 【测试开花】五、项目管理-前端-实现查询、新增功能

    基于 springboot vue 的测试平台开发继续更新 一 查询功能 在之前的项目列表接口里 支持使用项目名称模糊查询 现在来实现前端 1 input 输入框 到组件库里找个输入框 复制代码 修改代码 v model 绑定了下面 dat