请教一下各位,当我选中三个数据时,我想获取到id,然后传到后端,进行批量添加数据,先添加主表数据,在添加从表的数据,如果选中三条的话,从表要有三条数据,怎么做呢
这个是页面
vue我是这么写的,但是选中之后控制台输出的是
后端是foreach循环添加
CaseManageParam这个对象还可以修改,将vioList定义为对象列表,这样就不用去解析字符串了
【以下回答由 GPT 生成】
我可以提供以下解决方案来帮助你在Spring Boot和Vue.js中批量添加多个表及数据。
data() {
return {
selectedData: [], // 用于保存选中的数据的id的数组
// 其他数据和方法
}
},
methods: {
handleDataSelection(dataId) {
if (this.selectedData.includes(dataId)) {
// 如果数据id已经存在于数组中,则从数组中删除
const index = this.selectedData.indexOf(dataId);
this.selectedData.splice(index, 1);
} else {
// 否则,将数据id添加到数组中
this.selectedData.push(dataId);
}
},
// 其他方法
}
import axios from 'axios';
// ...
methods: {
batchAddData() {
axios.post('/api/batchAddData', {
selectedData: this.selectedData
})
.then(response => {
// 处理后端返回的响应
console.log(response.data);
})
.catch(error => {
// 处理错误
console.error(error);
});
},
// 其他方法
}
@RestController
@RequestMapping("/api")
public class DataController {
@Autowired
private MainTableRepository mainTableRepository;
@Autowired
private SubTableRepository subTableRepository;
// ...
@PostMapping("/batchAddData")
public void batchAddData(@RequestBody List<Long> selectedData) {
selectedData.forEach(dataId -> {
// 添加主表数据
MainTable mainTable = new MainTable();
// 设置主表数据的属性
mainTableRepository.save(mainTable);
// 添加从表数据
SubTable subTable = new SubTable();
// 设置从表数据的属性
subTable.setMainTable(mainTable);
subTableRepository.save(subTable);
});
}
// 其他方法
}
请注意,上述示例代码是基于假设和简化的情况,并可能需要适应你的实际情况。确保根据你的需求和项目结构进行适当的调整。
希望以上解决方案能对你有所帮助!如果你有任何进一步的问题,请随时提问。