当前位置: 首页 > news >正文

软件界面设计ui培训班/站优云seo优化

软件界面设计ui培训班,站优云seo优化,北京和隆优化怎么样,网站开发 定制 合同范本上文 SSMP整合案例(10) vue端调整项目环境 发送请求 基本界面编写我们搭建了基本的页面结构 然后 我们来做个新增的功能 首先 新增 我们肯定是用户点击了这个新建之后 我们再来处理这个逻辑 我们之前的代码 新增是有绑定 一个事件的 但是这个 AddBook中并没有内容 首先 我们…

上文 SSMP整合案例(10) vue端调整项目环境 发送请求 基本界面编写我们搭建了基本的页面结构

然后 我们来做个新增的功能
首先 新增 我们肯定是用户点击了这个新建之后 我们再来处理这个逻辑
在这里插入图片描述
我们之前的代码 新增是有绑定 一个事件的
在这里插入图片描述
但是这个 AddBook中并没有内容
在这里插入图片描述
首先 我们要写一个组件 来处理我们添加一条图书数据的逻辑
我们在components文件夹下创建一个文件 叫 bookFillIn.vue
参考代码如下

<template><el-dialog:title="title":visible.sync="switchs":before-close="bookClose"width="500px"><el-formlabel-width="120px":model="formInline":rules="rules"ref = "formInline"size="small"><el-form-itemlabel="图书名称:"prop="name"><el-inputv-model="formInline.name"placeholder="请输入图书名称"style="width: 300px;"></el-input></el-form-item><el-form-itemlabel="图书类别:"prop="type"><el-selectv-model="formInline.type"placeholder="请选择图书类别"style="width: 300px;"><el-optionv-for = "item in typeIn":label="item.label":value="item.value":key="item.value"></el-option></el-select></el-form-item><el-form-item label="图书描述:"><el-inputtype="textarea"style="width: 300px;":rows="2"placeholder="请输入图书描述"v-model="formInline.description"></el-input></el-form-item></el-form><div slot="footer" class="dialog-footer"><el-button @click="bookClose">关闭</el-button><el-button type="primary" @click="submitTo">确定</el-button></div></el-dialog>
</template><script>
export default {name: 'bookFillIn',data() {return {title: "",switchs: false,formInline: {name: "",type: "",description: ""},rules: {name: [{ required: true, message: '图书名称不能为空', trigger: 'blur' },],type: [{ required: true, message: '图书类别为必选项', trigger: 'blur' },]},typeIn: [{value: 0,label: "知识科普"},{value: 1,label: "休闲图书"},{value: 2,label: "官方记录"},{value: 3,label: "典藏"}]}},methods: {bookClose() {this.switchs = false;},submitTo(){this.$refs.formInline.validate((valid) => {if (valid) {console.log("提交");}});},sensor(name){this.switchs = true;this.title = name?name:"";},}
}
</script><style scoped></style>

这里 我们编写了一个el-dialog Element弹窗组件
然后 我们定义了一个表单 让用户手动填写图书的信息
这里我们通过遍历 typeIn 给el-select下拉框循环加上选择项目
然后 我们通过rules 验证了数据为空的情况 防止用户提交空数据给我们
这里 需要大家有一点vue2+Element UI的基础
然后写好之后 就是我们App.vue要去调用这个组件

我们如下图 调用 然后使用
在这里插入图片描述
然后 我们将AddBook函数修改如下

AddBook() {this.$refs.bookFill.sensor("添加图书");
},

当AddBook触发时 我们通过refs拿到我们的bookFillIn组件元素 然后 调用下面的sensor函数 打开弹窗
我们启动项目 然后点击 新建按钮
运行结果如下
在这里插入图片描述
可以看到 我们的弹窗就出来了

然后 我们什么都不填 直接点击右下角确定按钮
在这里插入图片描述
上面就会提示我们了

那么 现在 我们就需要来调用接口了
我们在 src下的 api 下的bookApi.js加一个函数
参考代码如下

export function AddBook(data){return request({url:`/books`,method:'post',data:data,})
}

在这里插入图片描述
因为我们之前是post请求 添加 然后 我们数据用的是 body下的 所以 我们用data传参

然后我们在src下的components下的bookFillIn.vue
引入一下我们刚刚写的AddBook
在这里插入图片描述
然后将bookFillIn.vue中的submitTo 提交数据方法更改如下

submitTo(){this.$refs.formInline.validate((valid) => {if (valid) {AddBook(this.formInline).then(res => {if(res.state == 200) {this.$message({message: res.message,type: 'success'});}else{this.$message.error(res.message);}})}});
},

这里 我们直接调用AddBook 传入表单处理好的formInline
然后 判断返回值 res.state == 200
因为 我们之前处理的就是 state 200 表示成功 500则失败
用两个对用不同的提示语法
用我们后台返回的message 做提示
然后 我们运行代码 在弹出表单中填上对应表单的信息
在这里插入图片描述
然后 我们点击确定
运行结果如下
在这里插入图片描述
我们看控制台请求返回的信息
在这里插入图片描述
也是没有任何问题

然后 看数据库表 我们的数据就已经加上去了
在这里插入图片描述
但是 这里 我们还有几个问题 要处理
首先 我们添加完 在列表上 第一时间看不到 第二 添加之后 弹出框不会自动关掉

首先 我们在 App.vue 中 将bookFill组件使用的地方代码改成这样

<book-fill ref = "bookFill" @getAll = "getAll" />

将我们查询的 getAll 函数传给子组件
在这里插入图片描述
然后 我们子组件bookFillIn.vue
submitTo函数更改如下

submitTo(){
this.$refs.formInline.validate((valid) => {if (valid) {AddBook(this.formInline).then(res => {if(res.state == 200) {this.$message({message: res.message,type: 'success'});this.bookClose();this.$emit('getAll');}else{this.$message.error(res.message);}})}});
},

可以看到 我们成功之后 调用bookClose 关闭当前弹出 然后调用父组件传来的getAll
让列表重新查询
在这里插入图片描述
我们点击确定
在这里插入图片描述
弹出也关了 然后 我们的数据就刷新了

但是 这里又带来了一个问题
我们添加完之后 再次点击新建 我们会发现我们之前输入的内容还在上面
在这里插入图片描述
因为 vue是一个前端响应式框架 这里的表单提交之后 他是不会跳转的 所以 界面没有更新
我们需要在每次打开弹窗时重置一下数据

我们在 bookFillIn.vue 中定义一个函数
参考代码如下

resetting() {this.formInline = {name: "",type: "",description: ""}
}

然后 在打开弹窗的sensor中调用它
在这里插入图片描述
然后 我们再添加一条数据
在这里插入图片描述
我们再重新打开弹窗 可以看到 一切正常了就
在这里插入图片描述

http://www.jmfq.cn/news/5058721.html

相关文章:

  • 做门户网站的营业范围/每日财经要闻
  • 效果图网站名字/引擎优化是什么意思
  • 可以做网站挂在百度上吗/网络推广计划制定步骤
  • app网站制作公司/网站链接提交
  • 做电商需要哪些网站有哪些/淘宝代运营
  • 淘宝联盟网站推广怎么做/云搜索神器
  • 网站建设考试重点/中国免费广告网
  • 做平台的网站/营业推广的方式
  • 门户网站群建设/雅虎搜索引擎入口
  • 湘潭做网站 活动磐石网络/百度上怎么做推广
  • 网站热销榜怎么做/中国女排联赛排名
  • 做儿童方面的网站/上海网站搜索引擎优化
  • 北京网络职业技术学院官网/seo网站优化收藏
  • 临平网站建设/网络营销策略包括
  • 帮助做问卷调查的网站/免费推广seo
  • 端午节网页设计模板/衡阳seo优化
  • 哈尔滨政务性网站制作公司/百度指数怎样使用
  • b2c购物网站怎么做/东莞seo推广公司
  • 宁波品牌网站设计特点/搜索引擎优化结果
  • 慈溪网站制作哪家最好/seo项目优化案例分析文档
  • 网站qq客服怎么做/seo排名关键词点击
  • 网站开发有哪些方向/推广app有哪些
  • 完整的网站开发/百度扫一扫识别图片在线
  • wordpress 作品/seo建站技术
  • dw cs4怎么做网站/北京seo服务商
  • 任县网站建设设计/可以访问违规网站的浏览器
  • 重庆网站seo营销模板/鞋子软文推广300字
  • 有没有专门做橱窗的案例网站/app推广方式有哪些
  • 代码演示插件wordpress/360搜索优化
  • 怎样做网站关键词优化/谷歌seo 优化