如何实现在sprintboot vue框架中,在查询列表中编辑页面中添加下拉选项,下拉选项的数据来源于dict_table,下拉框显示内容为name字段,实际传递的值为id字段,,
时间: 2024-03-22 10:39:59 浏览: 70
首先,需要在后端(Spring Boot)中定义一个DictTable实体类,包含id和name字段,并通过JpaRepository定义一个查询方法,用于获取所有的DictTable数据。
接着,在前端(Vue)中,可以使用Element UI框架提供的el-select组件来实现下拉框的展示和选择。在组件上绑定一个options属性,用于展示所有的字典数据。同时,为了实现实际传递的值为id字段,需要给el-select组件设置一个value-key属性,用于指定传递的值为id字段。
下面是一个简单的示例代码:
在后端(Spring Boot)中:
```java
@Entity
public class DictTable {
@Id
private Long id;
private String name;
// getter和setter方法省略
}
public interface DictTableRepository extends JpaRepository<DictTable, Long> {
}
@RestController
@RequestMapping("/dict")
public class DictTableController {
@Autowired
private DictTableRepository dictTableRepository;
@GetMapping("/list")
public List<DictTable> list() {
return dictTableRepository.findAll();
}
}
```
在前端(Vue)中:
```html
<template>
<el-select v-model="selectedValue" placeholder="请选择">
<el-option
v-for="option in options"
:key="option.id"
:label="option.name"
:value="option.id">
</el-option>
</el-select>
</template>
<script>
export default {
data() {
return {
options: [],
selectedValue: null,
};
},
mounted() {
this.loadOptions();
},
methods: {
loadOptions() {
axios.get('/dict/list').then(response => {
this.options = response.data;
});
},
},
};
</script>
```
注意:在代码中,需要使用axios或其他方式从后端获取字典数据,并将其绑定到el-select组件上的options属性中。同时,selectedValue属性用于记录用户选择的实际值(即id字段)。
阅读全文