当前位置:首页 > 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;
}

功能扩展

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

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

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

vue实现书籍添加删除

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

相关文章

vue卖座网实现

vue卖座网实现

Vue 卖座网实现 项目结构搭建 使用 Vue CLI 快速初始化项目,安装必要依赖如 Vue Router、Vuex、Axios。 创建核心目录结构:components(通用组件)、views(页…

vue组件实现

vue组件实现

Vue 组件实现基础 Vue 组件是 Vue.js 的核心特性之一,允许将 UI 拆分为独立、可复用的模块。组件的实现包括定义、注册、数据传递和生命周期管理等。 定义组件 组件可以通过单文件组件(…

vue原理实现

vue原理实现

Vue 原理实现的核心机制 Vue.js 的核心原理基于响应式系统、虚拟 DOM 和模板编译。以下是其核心实现机制的分解: 响应式系统 Vue 使用 Object.defineProperty(Vu…

vue翻页实现

vue翻页实现

Vue翻页实现方法 基础分页组件实现 使用v-for和计算属性实现基础分页逻辑: <template> <div> <ul> <l…

vue实现开关

vue实现开关

Vue 实现开关组件的方法 使用原生HTML和Vue数据绑定 通过v-model绑定复选框的checked状态,结合CSS样式实现开关效果: <template> <labe…

vue实现分发

vue实现分发

Vue 实现分发的方法 在 Vue 中,分发(Distribution)通常指的是将内容从父组件传递到子组件,或者通过插槽(Slots)机制让父组件控制子组件的部分渲染内容。以下是几种常见的实现分发的…