vue+element+springboot实现从数据库取出的值进行多选
时间: 2023-09-17 09:07:57 浏览: 91
springboot+vue+element-UI
首先,你需要在后端(SpringBoot)写一个接口来从数据库中取出相应的值。假设你的值存储在一个名为"options"的表中,你可以定义一个RestController来实现这个接口:
```java
@RestController
@RequestMapping("/options")
public class OptionController {
@Autowired
private OptionRepository optionRepository;
@GetMapping("/all")
public List<Option> getAllOptions(){
return optionRepository.findAll();
}
}
```
这里使用了Spring Data JPA来查询数据库。你需要创建一个名为"Option"的类来映射数据库中的表:
```java
@Entity
@Table(name = "options")
public class Option {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
// getters and setters
}
```
现在你可以在前端(Vue+Element)中调用这个接口,并将结果渲染到页面上。你可以使用ElementUI中的多选框组件来实现多选功能。假设你已经安装了ElementUI,并且你的Vue组件中有一个名为"selectedOptions"的数组来存储选中的选项,你可以这样写:
```vue
<template>
<div>
<el-checkbox-group v-model="selectedOptions">
<el-checkbox v-for="option in options" :label="option.id" :key="option.id">{{ option.name }}</el-checkbox>
</el-checkbox-group>
</div>
</template>
<script>
import axios from 'axios'
export default {
name: 'MyComponent',
data(){
return {
options: [],
selectedOptions: []
}
},
mounted(){
axios.get('/options/all')
.then(res => {
this.options = res.data
})
}
}
</script>
```
这里使用了axios来调用后端接口,获取所有的选项。然后将选项渲染到多选框组件中,当用户勾选选项时,Vue会自动将选中的选项的id存储到"selectedOptions"数组中。你可以在表单提交时将"selectedOptions"数组传回后端,处理选中的选项。
阅读全文