当前位置:首页 > VUE

vue实现书籍添加删除

2026-02-25 04:04:23VUE

实现书籍添加删除功能

在Vue中实现书籍的添加和删除功能,可以通过以下步骤完成。假设使用Vue 3的Composition API和<script setup>语法。

数据定义

定义一个响应式数组来存储书籍数据:

import { ref } from 'vue'

const books = ref([
  { id: 1, title: 'Vue 3入门', author: '张三' },
  { id: 2, title: 'JavaScript高级编程', author: '李四' }
])

const newBook = ref({
  title: '',
  author: ''
})

添加书籍功能

创建一个方法来添加新书籍:

const addBook = () => {
  if (newBook.value.title && newBook.value.author) {
    books.value.push({
      id: Date.now(),
      title: newBook.value.title,
      author: newBook.value.author
    })
    newBook.value.title = ''
    newBook.value.author = ''
  }
}

删除书籍功能

根据书籍ID删除指定书籍:

const deleteBook = (id) => {
  books.value = books.value.filter(book => book.id !== id)
}

模板部分

<template>
  <div>
    <h2>书籍列表</h2>
    <ul>
      <li v-for="book in books" :key="book.id">
        {{ book.title }} - {{ book.author }}
        <button @click="deleteBook(book.id)">删除</button>
      </li>
    </ul>

    <h2>添加新书</h2>
    <form @submit.prevent="addBook">
      <input v-model="newBook.title" placeholder="书名">
      <input v-model="newBook.author" placeholder="作者">
      <button type="submit">添加</button>
    </form>
  </div>
</template>

样式优化

可以添加一些基本样式改善用户体验:

ul {
  list-style: none;
  padding: 0;
}

li {
  margin: 10px 0;
  padding: 10px;
  border: 1px solid #ddd;
  display: flex;
  justify-content: space-between;
}

button {
  margin-left: 10px;
  cursor: pointer;
}

input {
  margin-right: 10px;
  padding: 5px;
}

功能扩展

如果需要更复杂的功能,可以考虑:

vue实现书籍添加删除

  • 添加编辑功能
  • 实现本地存储持久化
  • 添加表单验证
  • 使用Pinia进行状态管理

这个实现提供了基本的书籍添加和删除功能,可以根据实际需求进一步扩展和完善。

标签: 书籍vue
分享给朋友:

相关文章

vue实现冰墩墩

vue实现冰墩墩

使用 Vue 实现冰墩墩动画 通过 Vue 的动画特性和 SVG 技术,可以动态渲染冰墩墩的形象。以下是具体实现方法: 准备 SVG 素材 冰墩墩的形象通常由多个 SVG 路径组成,包括身体轮廓、面…

vue实现发送值接受值

vue实现发送值接受值

Vue 实现父子组件传值 父组件向子组件传值(props) 父组件通过 v-bind 或简写 : 向子组件传递数据。子组件通过 props 接收数据。 父组件代码: <template&g…

vue tag实现

vue tag实现

Vue 标签实现方法 在 Vue 中实现标签功能可以通过多种方式完成,常见场景包括动态标签生成、标签输入框、标签管理等。以下是几种典型实现方案: 动态标签列表渲染 使用 v-for 指令渲染标签数组…

vue实现modal

vue实现modal

Vue 实现 Modal 弹窗组件 使用 Vue 实现 Modal 弹窗组件可以通过多种方式,包括原生 Vue 组件、第三方库或自定义指令。以下是几种常见方法: 原生 Vue 组件实现 创建一个基础…

vue实现RTMP

vue实现RTMP

Vue 中实现 RTMP 流播放 RTMP(Real-Time Messaging Protocol)是一种用于实时音视频流传输的协议。在 Vue 中实现 RTMP 播放通常需要借助第三方库或播放器。…

vue实现mouseout

vue实现mouseout

Vue 实现 mouseout 事件的方法 在 Vue 中实现 mouseout 事件可以通过多种方式完成,以下是几种常见的方法: 使用 v-on 指令 Vue 提供了 v-on 指令(或简写为 @…