vue+element+springboot实现从数据库取出的值进行多选
时间: 2023-09-17 16:07:47 浏览: 89
首先,你需要在前端使用 Element UI 的 el-select 组件来实现多选功能。el-select 组件的 multiple 属性可以设置为 true 来启用多选功能。
例如:
```html
<el-select v-model="selectedValues" multiple>
<el-option v-for="option in options" :key="option.value" :label="option.label" :value="option.value"></el-option>
</el-select>
```
其中,selectedValues 是一个绑定到 Vue 实例上的数组,用于存储用户选择的值。options 可以是从后端获取的数据,例如:
```javascript
axios.get('/api/options').then(response => {
this.options = response.data
})
```
接下来,在后端使用 Spring Boot 来查询数据库并返回数据。可以使用 Spring Data JPA 来简化数据访问操作。
例如,定义一个实体类:
```java
@Entity
@Table(name = "my_table")
public class MyEntity {
@Id
private Long id;
private String name;
// getter and setter methods
}
```
然后,定义一个 Spring Data JPA 的 repository 接口:
```java
public interface MyEntityRepository extends JpaRepository<MyEntity, Long> {
}
```
最后,在控制器中使用 MyEntityRepository 来查询数据并返回给前端:
```java
@RestController
@RequestMapping("/api")
public class MyController {
@Autowired
private MyEntityRepository repository;
@GetMapping("/options")
public List<Map<String, Object>> getOptions() {
List<MyEntity> entities = repository.findAll();
return entities.stream().map(entity -> {
Map<String, Object> option = new HashMap<>();
option.put("label", entity.getName());
option.put("value", entity.getId());
return option;
}).collect(Collectors.toList());
}
}
```
这样,前端就可以使用 el-select 组件来实现从数据库取出的值进行多选了。
阅读全文