vue 实现 添加 和 删除需求

vue 简易 实现 添加 和 删除 需求

要求

文本框和添加按钮,点击添加按钮后,添加文本,并在下方显示,同时每个文本佩带一个 删除按钮,方便其进行删除

效果图

初始图:
在这里插入图片描述
添加 11111 元素:
在这里插入图片描述
选择删除 414141:
在这里插入图片描述

点击确定后:
在这里插入图片描述

思路

  • 主要操作分为 获取文本,添加 及 删除 操作
  • 获取文本:可以通过 文本框的 id 进行获取
  • 添加: 点击 添加 按钮,然后获取到文本的 value 值,然后添加到 data 数组中即dataArr;添加完后 将文本框 内的 value值 清空
  • 删除: 点击 删除 按钮,然后根据 文本的index 删除 对应的元素

代码

<template>
  <div class="hello">
    <!--  实现需求 将添加的元素都在下方显示,并配有 删除 按钮,可以进行删除操作 -->
    <div>
      <input type="text" name="" id="data">
      <button @click="addDataArr">add</button>
      <p v-for="(item,index) in dataArr"  v-bind:key="item">
        {{item}}
        <button @click="deleteDataArr(index)" type='text'>delete</button>
      </p>
    </div>
  </div>
</template>

<script>
import moment from 'moment';
export default {
  name: 'HelloWorld',
  data () {
    return {
      // 存放输入的数据
      dataArr:[], 
    }
  },
  methods:{
    // 添加 data 数据
    addDataArr(){
      // 先获取 文本框的 value 值,然后添加到 data 数组中 dataArr
      // 添加完后, 将 文本框中的 value 值 清空
      let dataId = document.getElementById('data')
      let dataValue = dataId.value
      console.log('new data:',dataValue)
      this.dataArr.push(dataValue)
      dataId.value = ''
    },
    // 根据 index 删除 data数据
    deleteDataArr(index){
      // 先获取到当前点击元素的index,然后将dataArr中对应index的元素删除
      // 删除时出现弹窗 确认时候要删除
      console.log('before',this.dataArr)
      let truthBeDelete = window.confirm("您确认是否要删除" + this.dataArr[index] +'吗?')
      if(truthBeDelete){
        this.dataArr.splice(index,1)
      }else{
        this.dataArr = this.dataArr
      }
      console.log('after',this.dataArr)
    }
  }
}
</script>

<style scoped>
</style>
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,首先需要明确的是添加删除图书需要有一个数据源来存储图书信息,这里我假设使用一个 books 数组来存储每本图书的信息。接下来就可以开始编写代码了。 添加图书的实现: 1. 在 Vue 实例中声明一个 data 属性来存储 books 数组: ``` data: { books: [ {id: 1, name: 'JavaScript高级程序设计', author: 'Nicholas C.Zakas'}, {id: 2, name: 'JavaScript权威指南', author: 'David Flanagan'}, {id: 3, name: 'CSS权威指南', author: 'Eric A.Meyer'}, {id: 4, name: 'HTML5与CSS3基础教程', author: '大漠穷秋'} ], newBook: { id: '', name: '', author: '' } } ``` 2. 在模板中使用 v-model 指令绑定表单元素的值,以便能够在 Vue 实例中获取表单数据: ``` <div> <h2>添加图书</h2> <form> <div> <label>编号:</label> <input type="text" v-model="newBook.id"> </div> <div> <label>书名:</label> <input type="text" v-model="newBook.name"> </div> <div> <label>作者:</label> <input type="text" v-model="newBook.author"> </div> <button type="button" @click="addBook">添加</button> </form> </div> ``` 3. 在 methods 中定义 addBook 方法,将表单数据添加到 books 数组中: ``` methods: { addBook() { this.books.push(this.newBook); this.newBook = { id: '', name: '', author: '' }; } } ``` 删除图书的实现: 1. 在模板中使用 v-for 指令渲染 books 数组中的每一本图书,并为每本图书添加一个删除按钮: ``` <div v-for="(book, index) in books" :key="book.id"> <span>{{ book.id }}、{{ book.name }} - {{ book.author }}</span> <button type="button" @click="removeBook(index)">删除</button> </div> ``` 2. 在 methods 中定义 removeBook 方法,根据索引从 books 数组删除指定的图书: ``` methods: { removeBook(index) { this.books.splice(index, 1); } } ``` 以上就是 Vue 实现添加删除图书的简单示例,你可以根据自己的实际需求进行修改和完善。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值