前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue教程07(综合小案例)

Vue教程07(综合小案例)

作者头像
用户4919348
发布2019-07-15 17:18:53
5770
发布2019-07-15 17:18:53
举报
文章被收录于专栏:波波烤鸭波波烤鸭

  本文我们通过一个小案例来巩固下前面讲的内容,具体案例效果如下:

在这里插入图片描述
在这里插入图片描述

其实也就是实现对表单数据的添加,删除和关键字查询的操作。

综合案例

1.页面布局

  页面布局我们通过bootstrap来快速实现,具体步骤如下

1.1 基础页面

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./lib/vue-2.4.0.js"></script>
    <link rel="stylesheet" href="./lib/bootstrap-3.3.7.css">
</head>
<body>
    <div id="app">

    </div>
    <script>
        var vm = new Vue({
            el: "#app",
            data: {

            },
            methods: {
                
            }
        })
    </script>
</body>
</html>

1.2 表单布局

  使用bootstrap来设置table,在vscode中安装bootstrap插件

在这里插入图片描述
在这里插入图片描述

先把这两个插件给装好,

在这里插入图片描述
在这里插入图片描述

然后准备数据

在这里插入图片描述
在这里插入图片描述

v-for使用

在这里插入图片描述
在这里插入图片描述

页面效果如下

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 头部样式

通过bootstrap来添加头部布局

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加对应的添加元素

代码语言:javascript
复制
<div class="panel panel-primary">
      <div class="panel-heading">
            <h3 class="panel-title">品牌管理</h3>
      </div>
      <div class="panel-body form-inline">
            <label>
            Id:
            <input type="text" class="form-control" >
            </label>
    
            <label>
            Name:
            <input type="text" class="form-control" >
            </label>
    
            
            <input type="button" value="添加" class="btn btn-primary">
      </div>
</div>
在这里插入图片描述
在这里插入图片描述

2.添加记录

  通过点击‘添加按钮’将数据添加到table中 通过v-model指令将id和name输入框的信息和vm中的id和name绑定,

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

给"添加按钮"绑定点击事件

代码语言:javascript
复制
<input type="button" value="添加" class="btn btn-primary" @click='add'>
在这里插入图片描述
在这里插入图片描述

添加效果

在这里插入图片描述
在这里插入图片描述

添加后将输入框内容置空

在这里插入图片描述
在这里插入图片描述

3.删除记录

删除记录的实现逻辑:点击删除链接,获取要删除记录的id,然后调用数组的splice方法来移除记录,

在这里插入图片描述
在这里插入图片描述

注意:方法名称不要使用delete!

数组常用的循环方法比较

循环方法

说明

forEach

不可终止循环

some

返回true终止循环

findIndex

返回true终止循环,返回满足添加的索引

filter

过滤数组,返回过滤后的数组

通过数组的some方法来循环判断

在这里插入图片描述
在这里插入图片描述

或者通过findIndex方法来获取满足条件的下标,然后再删除数据:

在这里插入图片描述
在这里插入图片描述

删除效果

在这里插入图片描述
在这里插入图片描述

4.关键字查询

  关键字查询也就是根据用户的输入返回满足条件的信息, 添加搜索框

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后v-for中循环的信息就不能是直接操作list数据,而应该是调用方法返回的信息

在这里插入图片描述
在这里插入图片描述

添加search方法

在这里插入图片描述
在这里插入图片描述

通过foreach来实现效果

代码语言:javascript
复制
search(keywords){
  // 保存新的数组
   var newList = []
   this.list.forEach(item => {
       // 判断循环的记录是否包含的查询的关键字
       if(item.name.indexOf(keywords) != -1){
           // 将循环的记录添加到新的数组中
           newList.push(item)
       }
   })
   // 返回数组信息
   return newList
}
在这里插入图片描述
在这里插入图片描述

通过filter来实现效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

搞定!

数组常用的循环方法比较

循环方法

说明

forEach

不可终止循环

some

返回true终止循环

findIndex

返回true终止循环,返回满足添加的索引

filter

过滤数组,返回过滤后的数组

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年07月12日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 综合案例
    • 1.页面布局
      • 1.1 基础页面
      • 1.2 表单布局
      • 1.3 头部样式
    • 2.添加记录
      • 3.删除记录
        • 4.关键字查询
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档