(填坑)vue实现简单的增删改查和全选反选功能

news/2024/7/10 1:40:03 标签: vue

没有技术含量的暴力版:

<template>
  <div class="container manage">
    <div>
      <ul class="clearFloat manage__title">
        <li>
          <label>id(添加或修改):</label>
          <input type="text" placeholder="请输入id" v-model="id" />
        </li>
        <li>
          <label>name(添加或修改):</label>
          <input type="text" placeholder="请输入name" v-model="name" />
        </li>
        <li>
          <button value="添加" @click="add()">添加</button>
        </li>
      </ul>
    </div>
    <div class="manage__content">
      <label>搜索:</label>
      <input type="text" placeholder="请输入name" v-model="keyword" />
      <input type="checkbox" name="items" class="all-choose" v-model="flag" @click="allchoose()" />
      <label>全选</label>
      <input type="button" name="items" value="反选" class="diff-choose" @click="rechoose()" />
      <ul v-for="item in search(keyword)" :key="item.id" class="clearFloat">
        <li>
          <input type="checkbox" name="items" v-model="item.isChecked" @click="choose(item.id)" />
          <span>{{item.id}} : {{item.name}}</span>
          <button value="删除" @click="del(item.id)">删除</button>
          <button value="编辑" @click="modify(item.id)">编辑</button>
        </li>
      </ul>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      id: '',
      name: '',
      keyword: '',
      flag: false,
      reflag: false,
      items: [
        { id: '01', name: 'ming', isChecked: false },
        { id: '02', name: 'ming1', isChecked: false },
        { id: '03', name: 'ming2', isChecked: false },
        { id: '04', name: 'ming3', isChecked: false },
        { id: '05', name: 'ming4', isChecked: false }
      ]
    }
  },
  methods: {
    add() {
      if (this.items.findIndex(item => item.id === this.id) !== -1) {
        alert('do not add same id')
      } else {
        this.items.push({ id: this.id, name: this.name })
      }
    },
    search(keyword) {
      var arr = this.items.filter(item => {
        if (item.name.includes(keyword)) {
          return item
        }
      })
      return arr
    },
    del(id) {
      var index = this.items.findIndex(item => item.id === id)
      this.items.splice(index, 1)
    },
    modify(id) {
      var index = this.items.findIndex(item => item.id === id)
      this.items.splice(index, 1, { id: this.id, name: this.name })
    },
    allchoose() {
      var flag = this.flag
      flag = !flag
      console.log('父框ischecked' + '=' + flag)
      this.items.map(item => { item.isChecked = flag })
      this.items.map(item => { console.log(item.isChecked) })
    },
    rechoose() {
      this.items.map(item => { item.isChecked = !item.isChecked })
    },
    choose(id) {
      var index = this.items.findIndex(item => item.id === id)
      console.log('item=' + index)
      this.items[index].isChecked = !this.items[index].isChecked
      var isChecked = this.items[index].isChecked
      console.log('item.ischecked= ' + this.items[index].isChecked)
      if (isChecked === false) {
        this.flag = false
        console.log('flag=' + this.flag)
      } else if (this.items.findIndex(item => item.isChecked === false) === -1) {
        this.flag = true
      }
    }
  }
}
</script>

<style lang="less">
.manage {
  &__title {
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    li {
      margin: 20px 10px;
    }
  }
  // &__content {
  //   ul {
  //     li {
  //     }
  //   }
  // }
}
button {
  height: 40px;
  width: 80px;
  font-size: 12px;
  color: black;
}
</style>

 


http://www.niftyadmin.cn/n/1284264.html

相关文章

lvs的调度算法有几种_lvs负载均衡系统(dr模式)部署与验证

一、lvs负载均衡简介LVS&#xff08;Linux Virtual Server&#xff09;是最常用的开源负载均衡之一&#xff0c;LVS已经被集成到Linux内核模块&#xff0c;具有性能高的特点。终端互联网用户从外部访问企业的负载均衡服务器&#xff0c;也就是LVS调度器&#xff0c;调度器根据自…

使用element UI非必填字段校验的效果修改

必填字段应该达到的效果是&#xff1a; 不填-> 提示应该要填写 填写-> 对了 -> 框变绿 -> 错了 -> 框变红 提示错误原因 非必填字段应达到的效果是&#xff1a; 不填-> 不校验 填了-> 校验 -> 正确绿框 错误红框 填了删除-> 不校验 方法一、自…

快速学习Oracle-单行函数

1. 字符函数 接收字符输入返回字符或者数值&#xff0c;dual 是伪表 把小写的字符转换成大小的字符 upper(smith)把大写字符变成小写字符 lower(SMITH)2. 数值函数 四舍五入函数&#xff1a;ROUND() 默认情况下 ROUND 四舍五入取整&#xff0c;可以自己指定保留的位数。 …

一个容易误解的小问题:TextBox的EnableViewState为false后,为什么点击按钮PostBack,TextBox的内容还是会保持(Persist)?...

Page对象的EnableViewState属性为false&#xff0c;意味着整个页面&#xff08;包括其中的所有服务器端控件&#xff09;的ViewState被禁用&#xff0c;但是<input type"hidden" name"__VIEWSTATE" value"...." />并不消失&#xff0c;这个…

配置库用户_Mysql相互复制(互为主从)详细配置步骤

文章目录前言1. 设置数据库的配置文件库1&#xff1a;库22. 进入数据库创建从账号库1&#xff1a;库2&#xff1a;3. 查看生成的binlog日志&#xff0c;记录下来日志名字和起始位置。库1&#xff1a;库2&#xff1a;4. 进入数据库进行从读设置&#xff0c;指定要读的主服务库的…

在.NET中用不用htc

.net很多特性会反复的刷新页面&#xff0c;实际上在局域网内还没什么问题&#xff0c;如果在internet上&#xff0c;那用户体验就比较差。所以很多还是借助客户端的jscript去做比较好&#xff0c;那么封装成HTC就是一个非常好的主意。 比如验证模块&#xff0c;这个在.net中也有…

如何查询buckets更新_更好的理解 MySQL(1):查询和更新的内部实现

摘要在MySQL中&#xff0c;简单的CURD是很容易上手的。但是&#xff0c;理解CURD的背后发生了什么&#xff0c;却是一件特别困难的事情。在这一篇的内容中&#xff0c;我将简单介绍一下MySQL的架构是什么样的&#xff0c;分别有什么样的功能。然后再简单介绍一下在我们执行简单…