用vue实现点击添加按钮,从数据库中查询并将查询结果添加到表单中,表单中实现添加一行数据功能
时间: 2024-02-09 15:08:12 浏览: 160
vue 点击按钮增加一行的方法
5星 · 资源好评率100%
好的,针对你的问题,我给出以下代码实现思路:
首先,你需要在 Vue 实例中定义一个数组,用来存储从数据库中查询出来的数据,例如:
```javascript
data() {
return {
dataList: [] // 数据库查询结果存储数组
}
}
```
接下来,在点击添加按钮时,你可以通过 Vue 的生命周期钩子函数 `mounted()` 发起 Ajax 请求,从数据库中查询数据,然后将查询结果存储在 `dataList` 数组中,例如:
```javascript
mounted() {
this.$http.get('/api/data').then(response => {
this.dataList = response.data
})
}
```
这里使用了 axios 库发送 Ajax 请求,你需要在项目中安装并引入该库。
最后,在表单中实现添加一行数据的功能,你可以通过列表渲染的方式,将 `dataList` 数组中的数据渲染到表格中,并通过表单提交的方式将新添加的数据提交到服务器,例如:
```html
<table>
<thead>
<tr>
<th>名称</th>
<th>价格</th>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in dataList" :key="index">
<td>{{ item.name }}</td>
<td>{{ item.price }}</td>
</tr>
</tbody>
</table>
<form>
<input type="text" name="name" placeholder="名称">
<input type="text" name="price" placeholder="价格">
<button type="submit">添加</button>
</form>
```
在提交表单时,你可以通过 Ajax 请求将新添加的数据提交到服务器,并将其添加到 `dataList` 数组中,例如:
```javascript
submitForm() {
const formData = new FormData(document.querySelector('form'))
this.$http.post('/api/data', formData).then(response => {
this.dataList.push(response.data)
})
}
```
这里使用了 FormData 对象将表单数据序列化,并使用 axios 库发送 POST 请求向服务器提交数据。
综上,以上是一个简单的用 Vue 实现点击添加按钮,从数据库中查询并将查询结果添加到表单中,表单中实现添加一行数据功能的实现思路。
阅读全文