SPA项目开发之CRUD增删改查+表单验证,字节跳动前端岗面试题

本文分享了一份全面的Web前端学习资源,覆盖零基础到进阶,旨在帮助程序员高效自学并突破技术瓶颈。内容包括学习路径、大厂经验、项目实战等,适合不同经验层次的开发者。
摘要由CSDN通过智能技术生成

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

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’)”>保存

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值