Vue实现添加、删除、关键字查询

从今天开始,将不定期更新关于 Vue 的学习以及各种方法的使用,好了,下面就开始吧

Vue的实例创建首先需要我们引入一个vue.js(也可以在本地npm安装vue,我为了省事就...),然后在HTML中定义一个 id 为 app 的 div ,这里定义的 id 是看你的个人喜好了,只要和后面我们在 script 标签内一直即可

下面是一个简单的小例子,实现 列表的添加、删除、关键字查询

<!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>首页</title>
    <script src="./lib/vue.js"></script>
    <link rel="stylesheet" href="./css/home.css">
    <link rel="stylesheet" href="./css/bootstrap.css">
</head>

<body>
    <div id="app">
        <!-- 实现添加 删除 功能 -->
        <div class="panel panel-default">
            <div class="panel-heading">
                <h3 class="panel-title">添加人物信息</h3>
            </div>
            <div class="panel-body form-inline">
                <label>
                    Id:
                    <input type="text" v-model="id" class="form-control">
                </label>
                <label>
                    Name:
                    <input type="text" v-model="name" class="form-control">
                </label>
                <label>
                    Age:
                    <input type="text" v-model="age" class="form-control">
                </label>
                <label>
                    Gender:
                    <input type="text" v-model="gender" class="form-control">
                </label>
                <label>
                    <input type="button" @click="add" value="添加" class="btn btn-primary">
                </label>
                <label>
                    关键字搜索:
                    <input type="text" v-model="keywords" placeholder="输入关键字搜索" class="form-control">
                </label>
            </div>
        </div>

        <table class="table table-bordered table-hover">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Name</th>
                    <th>Age</th>
                    <th>Gender</th>
                    <th>登记时间</th>
                    <th>编辑</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="item in search(keywords)" :key="item.id">
                    <td>{{ item.id }}</td>
                    <td>{{ item.name }}</td>
                    <td>{{ item.age }}</td>
                    <td>{{ item.gender }}</td>
                    <td>{{ item.ctime }}</td>
                    <td>
                        <a href="#" @click.prevent="del(item.id)">删除</a>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>

    <script src="./js/home.js"></script>

</body>

</html>
var vm = new Vue({//js
  el: "#app",
  data: {
    id: "",
    name: "",
    age: "",
    gender: "",
    ctime: "",
    keywords: "",
    list: [
      { id: 1, name: "tom", age: 20, gender: "男", ctime: new Date() },
      { id: 2, name: "jam", age: 30, gender: "男", ctime: new Date() },
      { id: 3, name: "mark", age: 18, gender: "女", ctime: new Date() },
    ]
  },
  methods: {

    add() {//添加列表信息
      var addList = { id: this.id, name: this.name, age: this.age, gender: this.gender, ctime: this.ctime };
      this.list.push(addList);
      this.id = this.name = this.age = this.gender = this.ctime = "";
    },
    del(id) {//删除列表信息
      //第一种方法
      // some 方法返回 boolean 值,不是筛选一个新的数组,而是筛选有没有符合条件的值,只要有一个值符合条件则立即返回 true,不再执行后续操作(循环),否则返回 false
      // this.list.some((item, i) => {
      //   if (item.id == id) {
      //     this.list.splice(i, 1);
      //     return true;
      //   }
      // });

      //第二种方法
      var index = this.list.findIndex(item => {
        if (item.id == id) {
          return true
        }
      })
      this.list.splice(index, 1)
    },
    search(keywords) {//通过关键字搜索
      //第一种方法
      // var newList=[];
      // this.list.forEach(item =>{
      //   if(item.name.indexOf(keywords) != -1){
      //     newList.push(item)
      //   }
      // });
      // return newList;

      //第二种方法
      //filter方法是数组的过滤方法,返回一个新的数组,不会对原数组修改,return true 为想要的值,return false 则为去掉的值
      return this.list.filter(item => {
        if (item.name.includes(keywords)) {
          return item
        }
      })
    }
  }
})

原文地址:https://www.cnblogs.com/caoxen/p/10021139.html

时间: 2024-08-02 04:17:32

Vue实现添加、删除、关键字查询的相关文章

Vue,品牌列表案例(仅添加,删除,搜索,全局过滤器,私有过滤器)

Vue,品牌列表案例(仅添加,删除,搜索,全局过滤器,私有过滤器) 添加了时间过滤器(私有的) 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <script src="../../js/vue.js"></script> 7 <link rel=&qu

js中cookie的添加,删除,查询总结

function addCookie(objName,objValue,objHours){//添加cookie var str = objName + "=" + escape(objValue); if(objHours > 0){//为0时不设定过期时间,浏览器关闭时cookie自动消失 var date = new Date(); var ms = objHours*3600*1000; date.setTime(date.getTime() + ms); str +=

SpringData关键字查询方法和自定义查询方法

一.创建项目并导入Jap相关依赖 ? ? 1.1 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <art

用SQL语句添加删除修改字段

1.增加字段     alter table docdsp     add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNcolumn_NAME3.修改字段类型     ALTER TABLE table_name     ALTER COLUMNcolumn_name new_data_type4.sp_rename 改名     EXEC sp_rename '[dbo].[Table_1].[filedName1]

ajax基础语法、ajax做登录、ajax做用户名验证是否可用、ajax做关键字查询动态显示、ajax做用表格显示数据并增加操作列

AJAX: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 如果此页面用到了ajax方法,一定要在页面上端加上: <script src="../../jquery-1.11.2.min.js"></script> ajax基础语法: <script type="text/javascript">

T-SQL动态查询(2)——关键字查询

接上文:T-SQL动态查询(1)--简介 前言: 在开发功能的过程中,我们常常会遇到类似以下情景:应用程序有一个查询功能,允许用户在很多查询条件中选择所需条件.这个也是本系列的关注点. 但是有时候你也许会发现,有些条件或多或少是互相排斥的.比如用户通过下面其中一个条件查找信息: 1.  客户名 2.  客户ID 3.  客户身份标识号(如国内身份证.美国社保号等). 并且这三列上都有适当的索引.本系列主要研究动态SQL和OPTION(RECOMPILE)查询提示来处理需求,但是前面已经提到过,频

表格的一些原生js操作(隔行变色,高亮显示,添加删除,搜索)

看着网上的视频教程,虽说还是有点简单,但还是不免想记录下.这些操作包括(隔行变色,高亮显示,添加删除,搜索功能),而这儿就是涉及table的原有属性“tBodies” “rows” “cells”等几个方法,search方法, split方法等等 效果体验:http://runjs.cn/detail/vm8bz8dl <!doctype html> <html> <head> <meta charset="utf-8"> <tit

WebService的简单运用添加删除

WebService是一种跨编程语言和跨操作系统平台的远程调用技术,简单来说就是将数据存储到项目的文件夹下 .NET中基于DOM核心类 XmlDocument 表示一个XML文档 XmlNode表示XML文档中的单个节点 XmlNodeList表示排序节点集合 XmlElement表示一个元素 XmlAttribyte 表示一个属性 XmlAttribyteCollection表示元素节点的属性集合 XmlText表示元素或属性的文本类容 ----------------------------

用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等

用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200) 2.删除字段 ALTER TABLE table_NAME DROP COLUMN column_NAME 3.修改字段类型 ALTER TABLE table_name ALTER COLUMN column_name new_data_type 4.sp_rename 改名 更改当前数据库中用户创建对象(如表.列或用户定义数据类型)的名称. 语法 sp_rename