用vue实现图书管理包含编号搜索框名称搜索框图书编号名称时间更改及删除
时间: 2024-06-09 14:07:44 浏览: 133
首先,你需要创建一个Vue实例和一个组件用于显示图书管理页面。下面是一个示例:
```
<!DOCTYPE html>
<html>
<head>
<title>图书管理</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<h1>图书管理</h1>
<div>
<label>编号:</label>
<input type="text" v-model="searchId">
<label>名称:</label>
<input type="text" v-model="searchName">
<button @click="search">搜索</button>
</div>
<table>
<thead>
<tr>
<th>编号</th>
<th>名称</th>
<th>时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr v-for="book in books">
<td>{{ book.id }}</td>
<td>{{ book.name }}</td>
<td>{{ book.time }}</td>
<td>
<button @click="edit(book.id)">修改</button>
<button @click="remove(book.id)">删除</button>
</td>
</tr>
</tbody>
</table>
</div>
<script>
Vue.component('book-management', {
data: function () {
return {
books: [
{id: 1, name: 'Vue.js实战', time: '2021-08-01'},
{id: 2, name: 'JavaScript高级程序设计', time: '2021-08-02'},
{id: 3, name: '深入浅出Node.js', time: '2021-08-03'},
{id: 4, name: '算法导论', time: '2021-08-04'},
{id: 5, name: '计算机程序设计艺术', time: '2021-08-05'}
],
searchId: '',
searchName: ''
}
},
methods: {
search: function () {
// 根据搜索条件过滤数据
var filteredBooks = this.books.filter(function (book) {
return book.id.toString().indexOf(this.searchId) !== -1 &&
book.name.indexOf(this.searchName) !== -1;
}, this);
this.books = filteredBooks;
},
edit: function (id) {
// TODO: 实现修改图书
},
remove: function (id) {
// TODO: 实现删除图书
}
}
});
new Vue({
el: '#app'
});
</script>
</body>
</html>
```
在上面的示例中,我们创建了一个名为`book-management`的组件,用于显示图书管理界面。组件中包含一个表格用于显示图书列表,以及一个搜索框和搜索按钮用于根据编号和名称搜索图书。每一行图书记录都包含一个修改按钮和一个删除按钮。
在`data`对象中,我们定义了一个`books`数组,其中包含了5本图书的数据。我们还定义了两个搜索条件`searchId`和`searchName`,这两个变量的值会随着搜索框的输入而更新。在`search`方法中,我们使用`filter`函数过滤数据并更新`books`数组的值。
在实际应用中,你需要根据具体需求实现修改和删除图书的方法,这里只是留下了TODO注释。
阅读全文