SPA项目开发之CRUD增删改查+表单验证(2)

30分钟用 Restful ABAP Programming(RAP)模型开发一个支持增删改查的 Fiori 应用 2016年时,Jerry曾经写过一系列关于SAP Fiori Smart Template(现在更名为Fiori Elements了)的博客,介绍了所谓的MDD开发方法论 - Metadata Driven Development,即通过开发维护了对应annotation(注解)的CDS view,结合SAP WebIDE,能够花费最少的编程代价,就能够在短时间内获得一个支持增删改查的Fiori应...... 阅读详情

// 设置窗体不可见

editFormVisible: false,

formInline: {

page: 1,

rows: 10,

total: 0,

title: ‘’,

},

// 定义editForm   json对象

editForm: {

},

}

},

methods: {

handleSizeChange(rows) {

console.log(“当前页查询数据量:” + rows)

this.formInline.page = 1;

this.formInline.rows = rows;

this.search();

},

handleCurrentChange(page) {

console.log(“当前页为:” + page)

this.formInline.page = page;

this.search();

},

// 定义窗体的关闭事件

closeDialog() {

},

// 定义窗体开启事件

handleEdit() {

this.editFormVisible = true;

},

doSearch(param) {

// 拿到文章列表的地址

let url = this.axios.urls.SYSTEM_ARTICLE_LIST;

this.axios.post(url, param).then((resp) => {

console.log(resp);

// 钩子函数可以对定义的变量进行修改

this.listData = resp.data.result;

this.formInLine.total = resp.data.pageBean.total;

}).catch(function(error) {

console.log(error);

});

// 监听bus,bus是vue实例,所以有$on方法

// 定义的方法,v就是传递来的this.collapsed变量

this.root.Bus.root.Bus.root.Bus.on(“collapsed-aside”, (v) => {

this.collapsed = v;

});

},

// 搜索功能

search() {

this.doSearch(this.formInline);

}

},

created() {

this.doSearch({});

}

}

效果如下

3,校验表单


①,将rules控件放入form表单

<el-form label-width=“120px” :model=“editForm” :rules=“rules” ref=“editForm”>

②,定义规则

rules表示表单规则,相当于正则

// 校验表单

rules: {

title: [{

required: true,

message: ‘请输入活动名称’,

trigger: ‘blur’

},

{

min: 3,

max: 5,

message: ‘长度在 3 到 5 个字符’,

trigger: ‘blur’

}

],

body: [{

required: true,

message: ‘请选择文章内容’,

trigger: ‘blur’

}],

}

③,调用校验规则

submitForm 提交表单的方法

formName表单名称

validate校验的方法

submitForm(formName) {

this.$refs[formName].validate((valid) => {

if (valid) {

alert(‘submit!’);

} else {

console.log(‘error submit!!’);

return false;

}

});

},

效果如下

二,修改功能

=======

1,区分新增和修改的窗体


通过id区分,当点击编辑时,会拿到那行数据的id,并根据id修改

handleEdit(index, row) {

this.editFormVisible = true;

// console.log(row);

if (row) {

this.title = ‘编辑窗口’;

this.editForm.id = row.id;

this.editForm.title = row.title;

this.editForm.body = row.body;

} else {

this.title = ‘新增窗口’;

}

},

2,数据回显


// 定义editForm   json对象

editForm: {

// 为数据回显定义值

title: ‘’,

body: ‘’,

// 根据id修改

id: 0

},

3,为新增窗体清空数据


①清空数据的方法

// 清空新增窗体

clearData() {

this.editFormVisible = true,

this.title = ‘’;

this.editForm.id = 0;

this.editForm.title = ‘’;

this.editForm.body = ‘’;

},

②,调用清空窗体的方法

// 定义窗体的关闭事件

closeDialog() {

// 调用清空窗体的方法

this.clearData();

},

// 定义窗体开启事件,

// 参数index,row

handleEdit(index, row) {

// 调用清空窗体的方法

this.clearData();

this.editFormVisible = true;

console.log(row);

if (row) {

this.title = ‘编辑窗口’;

this.editForm.id = row.id;

this.editForm.title = row.title;

this.editForm.body = row.body;

} else {

this.title = ‘新增窗口’;

}

},

效果展示

4,数据交互


由于增加按钮和编辑按钮触发的是同一个表单,所以应该进行判断,使用不同的url进行处理

submitForm(formName) {

this.$refs[formName].validate((valid) => {

if (valid) {

// alert(‘submit!’);

// 定义一个url

let url;

// ==0说明是新增

if (this.editForm.id == 0) {

// 拿到新增的地址

url = this.axios.urls.SYSTEM_ARTICLE_ADD;

} else {

// 拿到修改的地址

url = this.axios.urls.SYSTEM_ARTICLE_EDIT;

}

this.axios.post(url, this.editForm).then((resp) => {

console.log(resp);

this.clearData();

this.search()

}).catch(function(error) {

console.log(error);

});

} else {

console.log(‘error submit!!’);

return false;

}

});

},

三,删除功能

======

定义删除的方法,根据id删除,提示添加在数据刷新之前

deleteUser(index, row) {

this.editForm.id = row.id;

let url = this.axios.urls.SYSTEM_ARTICLE_DEL;

this.axios.post(url, this.editForm).then((resp) => {

this.$message({

message: ‘删除成功’,

type: ‘success’

});

this.search()

}).catch(function(error) {

console.log(error);

});

},

================================================================================================================================================================================================================

article.vue完整代码如下

=================

<el-button size=“small” type=“primary” icon=“el-icon-search” @click=“search”>搜索

<el-button size=“small” type=“primary” icon=“el-icon-plus” @click=“handleEdit()”>添加

<el-table size=“small” :data=“listData” highlight-current-row border element-loading-text=“拼命加载中”

style=“width: 100%;”>

<el-button size=“mini” @click=“handleEdit(scope.$index, scope.row)”>编辑

<el-button size=“mini” type=“danger” @click=“deleteUser(scope.$index, scope.row)”>删除

<el-pagination style=“margin-top: 20px;” @size-change=“handleSizeChange” @current-change=“handleCurrentChange”

:current-page=“formInline.page” :page-sizes=“[10, 20, 30, 50]” :page-size=“100”

layout=“total, sizes, prev, pager, next, jumper” :total=“formInline.total”>

<el-dialog :title=“title” :visible.sync=“editFormVisible” width=“30%” @click=“closeDialog”>

<el-button size=“small” @click=“closeDialog”>取消

<el-button size=“small” type=“primary” class=“title” @click=“submitForm(‘editForm’)”>保存

Element-cascader级联选择器增加全选功能 element el-cascader 阅读详情

相关推荐

GitLab中国区注册终极解决方案:绕过+86手机验证的实战技巧(2023最新)

本文详细解析了GitLab中国区注册时绕过+86手机验证的三种实战技巧,包括开发者工具调试方案、使用国际号码的变通方案以及本地化部署替代方案。通过技术分析和实践验证,帮助开发者顺利注册GitLab账号,提升团队协作效率。

rl6adventurer的博客 1490

SPA项目开发之CRUD增删改查+表单验证,CSS的三种基础选择器

message: ‘删除成功’,});});},article.vue完整代码如下这是文章列表组件搜索筛选搜索添加列表。

2401_83974173的博客 1048

Transformer在量化交易中的应用:从时序预测到策略生成

Transformer模型凭借其强大的自注意力机制,在自然语言处理领域取得了革命性突破。其核心原理是通过并行计算和动态权重分配,有效捕捉序列数据中的长距离依赖关系。这一特性使其在金融时间序列分析中展现出巨大技术价值,能够处理市场数据中的复杂非线性模式和长期关联。在量化交易场景下,Transformer可将价格、成交量等连续数据通过离散化分桶处理,转化为类似文本的序列,进而进行预测或直接生成交易信号。本文以QuantGPT项目为例,探讨了如何将这一前沿AI架构迁移应用于金融领域,涵盖了从数据作为“语言”的编码

weixin_26757949的博客 363

【vue】avue-crud表单属性配置(表格以及列)

项目实战中需要调某个样式,但作为后端开发者也只能硬着头皮,此贴作为初学前端的第一帖,以下为学习笔记。form属性文档curd属性文档。

码农研究僧的博客 1万+

使用PyTorch和TextCNN实现英文长文本诗歌文本分类

在这个过程中,我们了解了如何进行文本数据预处理、构建TextCNN模型,并进行训练与评估。首先,我们需要将文本文件加载到内存中,并将每个诗歌作为一个样本。然后,我们需要将每个样本转换为数字表示,这可以通过将词汇表中的每个词语映射到一个唯一的整数来实现。此外,我们还需要将每个样本的长度统一为固定值,以便于模型输入。通过这个示例,我们可以学习如何构建一个简单但有效的文本分类模型,并在具体的应用场景中进行训练和预测。该模型通过使用多个不同尺寸的卷积核来捕捉文本中的不同长度的信息,并通过最大池化操作提取关键特征。

loop_syntax648的博客 254

物联网应用开发教程专栏介绍与说明——列表目录查阅(持续更新)

为方便查阅学习本专栏,特整理专栏介绍与说明及提供列表目录便于查阅。阿齐Archie《物联网应用开发教程》专栏。本专栏为物联网应用开发教程,将更新涵盖常见的WIFI、蓝牙、蜂窝网、以太网、Lora、NB-iot等物联网技术实战应用及详解其技术知识。专栏为技术文章,订阅一个文章即可本专栏内所有文章可看,实战开发,亲测无误,附视频演示效果,会持续更新本专栏。本专栏内有理论篇也有完整实战应用篇。

嵌入式阿齐Archie 2万+

如何对SAP数据库表进行增删改查操作(2)?

本篇接着上一篇博文,继续讲解如何在 SAP 系统外部,方便的对 SAP 的数据库表进行增删改查操作。推荐的方式: SAP 暴露 OData 服务供外部调用 SAP 暴露 Restful Service 供外部调用 总的来说,OData 是比较新的 Restful Service 规范,在 SAP 端编写代码相对容易,但早期版本可能不支持。Restful Service 较早的版本是可以实现的。关于 OData 使用对 Netweaver 版本要求,请参考我另外一篇博文: SAPUI5 (34) - OD

王敏的专栏 1045

LPDDR6与LPDDR5 ZQ Calibration技术探讨

LPDDR6与LPDDR5 ZQ Calibration技术探讨

zilan23的博客 1098

SAP abap增删改查程序

可以在alv界面新增,删除,修改,可以新增多行,空白行

wxyix7的博客 794

Android一个APP里面最少有几个线程

Android应用启动时,默认会创建一个进程,该进程中最少包含负责处理用户交互、UI更新等核心操作,所有与界面相关的逻辑必须在此线程执行。若在此线程执行耗时操作(如网络请求),会导致界面卡顿甚至触发ANR(应用无响应)。当对象重写了finalize()方法时,该线程负责将这些对象放入队列并调用其finalize()方法,完成资源释放后再由GC回收。监控的执行效率。如果finalize()方法执行超时(默认10秒),此线程会触发虚拟机退出以防止应用长时间阻塞。

编程进化论 613

【Tessy】集成测试小白入门指导

本文详细介绍了如何进行集成测试的小白入门指导,从新建工程到设计用例,实现集成测试的过程详细步骤

qq_37282365的博客 1184

SPA项目开发之CRUD+表单验证

一、SPA项目之表单验证 我们做项目的都关乎到增删改查的功能,在进行增删改查功能之前,我们必须有一个表单验证。 1、首先先写入表单验证的代码:这里面需要注意的是变量,以及定义方法 <!-- 编辑界面 --> <el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click="closeDialog"> <el-form...

m0_53151031的博客 1170

用 Python 和 XGBoost 进行疾病诊断预测

疾病诊断预测是医疗领域的重要研究方向,准确的疾病诊断预测可以帮助医生提前制定治疗方案,提高治疗效果,降低医疗成本。本文章的目的是介绍如何使用 Python 和 XGBoost 算法构建疾病诊断预测模型。范围涵盖了从数据预处理、模型训练到模型评估的整个流程,同时通过实际案例展示如何将该模型应用于疾病诊断预测中。本文首先介绍了疾病诊断预测的背景和 XGBoost 算法的核心概念,然后详细讲解了 XGBoost 算法的原理和具体操作步骤,包括 Python 代码实现。

AI Python 编程之道的博客 1064

SPA 项目开发 之 表单验证 & CRUD

SPA 项目开发 之 表单验证 & CRUDSPA 项目开发 之 表单验证 & CRUD重要代码效果展示 SPA 项目开发 之 表单验证 & CRUD 需要实现的功能: 1、dialog布局 2、表单验证 3、新增功能 4、修改功能 5、删除功能 1. 表单验证 Form组件 提供了表单验证的功能,只需要通过 rules 属性 传入约定的验证规则, ...

qq_44641053的博客 227

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SPA项目开发之CRUD和表单验证

SPA项目开发之CRUD和表单验证 表单验证 Form组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则, 并将Form-Item的prop属性设置为需校验的字段名即可 <!-- 编辑界面 --> <el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click=...

weixin_45180919的博客 120

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SPA项目开发之CRUD及表单验证

SPA项目开发之CRUD及表单验证 继续完善上篇博客,增加CRUD功能和表单验证 <template> <div> <!-- 搜索筛选--> <el-form :inline="true" :model="formInline" class="user-search"> <el-form-item> ...

钰团的博客 225

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SPA项目开发之表单验证及CRUD

SPA项目开发之表单验证及CRUD 1.表单验证 基于上次的新增表单验证功能 1.1 写编辑界面 <!-- 编辑界面 --> <el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @before-close="closeDialog"> <el-form label-w...

weixin_44222066的博客 231

spa项目crud+表单验证

spa项目crud+表单验证1.表单验证2.增删改查添加修改删除 1.表单验证 Form组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则, 并将Form-Item的prop属性设置为需校验的字段名即可 <el-form-item label="活动名称" prop="name"> <el-form :model="ruleForm" :rules=...

weixin_45111741的博客 257

SPA项目开发之CRUD与表单验证

SPA项目开发之CRUD与表单验证 在上几篇的博客已经把动态树,数据表格,分页实现了,就来完成CRUD了 我是对文章的增删查改

程 序 猿的博客 250
上一篇: html + css 布局技巧总结 ——多列布局(5)
下一篇: SPA项目开发之动态树+数据表格+分页(1)
普通网友
博客等级 码龄5年 3419粉丝 477原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值