用vue怎么实现前后端的获取表数据,方法是什么
Admin 2022-06-21 群英技术资讯 834 次浏览
这篇文章主要讲解了“用vue怎么实现前后端的获取表数据,方法是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。将用户及图像联系在一起

修改关联的时候,前端向后端传入array[number],后端存为字符串
这时在前端获取数据时,需要循环处理为数字数组
<template>
<div>
<el-table :data="state.tableData" border style="width: 100%">
<el-table-column prop="name" label="Name" width="180" />
<el-table-column prop="relation" label="Relation" width="180" ></el-table-column>
<el-table-column prop="path" label="Path">
<template #default="scope">
<div v-for="(item, index) in scope.row.path" :key="index" style="display:inline-block">
<img
:src="'http://localhost:3000//' + item.path"
style="width: 100px;height:100px;margin:0 10px"
/>
</div>
</template>
</el-table-column>
<el-table-column label="Operations" width="120">
<template #default="scope">
<el-button
type="text"
size="small"
@click.prevent="edit(scope.row)"
>
<el-icon>
<edit />
</el-icon>
</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog v-model="state.dialogVisible" width="80%">
<el-transfer
v-model="state.rightValue"
style="text-align: left; display: inline-block"
filterable
:titles="['Source', 'Target']"
:button-texts="['To left', 'To right']"
:format="{
noChecked: '${total}',
hasChecked: '${checked}/${total}',
}"
:data="state.data"
>
<template #default="{ option }">
<span>{{ option.key }} - {{ option.label }}</span>
</template>
</el-transfer>
<p>
<el-button
type="primary"
size="medium"
@click.prevent="commit"
>提交
</el-button>
</p>
</el-dialog>
</div>
</template>
<script lang="ts">
import {defineComponent, reactive} from 'vue'
import {relationlist,uploadorder,editrelation} from '../utils/api'
import {
ElMessage, ElDialog
} from 'element-plus';
import { Edit } from '@element-plus/icons';
export default defineComponent({
name : 'relation',
components:{
Edit, ElMessage, ElDialog
},
setup() {
const state = reactive({
tableData:[],
dialogVisible:false,
data:[],
rightValue:[],
editdata:{}
})
const init = function(){
relationlist().then((res)=>{
if (res.code === 200) {
res.list.forEach((ele)=>{
if(ele.relation){
ele.relation = ele.relation.split(',')
for (let i = 0; i < ele.relation.length; i++) {
ele.relation[i] = Number(ele.relation[i]);
}
}
})
state.tableData = res.list
}
})
}
const init1 = function(){
uploadorder().then(res => {
if (res.code === 200) {
let data = []
res.list.forEach(ele => {
data.push({
key:ele.id,
label:ele.name
})
});
state.data = data
}
})
}
const edit = function(row){
state.editdata = row;
state.dialogVisible = true;
state.rightValue = row.relation||[];
}
const commit = function(){
let data = {
rightvalue:state.rightValue,
...state.editdata
}
editrelation(data).then((res)=>{
if(res.code === 200){
ElMessage.success(res.msg)
state.dialogVisible = false
init()
}else{
ElMessage.error(res.msg)
}
})
}
init()
init1()
return {
state,
edit,
commit
}
}
})
</script>
//获取关联列表
router.get('/relationlist',async (req,res,next)=>{
const result = await db.select(`SELECT * FROM user`)
for (let i = 0; i < result.length; i++) {
let ele = result[i];
let uploadres = await db.select(`SELECT path FROM upload where id in (${ele.relation})`)
ele.path = uploadres
}
res.send(Success(result));
})
//修改关联列表
router.post('/editrelation',async (req,res,next)=>{
let {id,rightvalue} = req['body']
console.log(rightvalue);
if(!id || !rightvalue){
res.send(MError('请选择后再提交'))
return
}
const result = await db.update('user', { relation:rightvalue}, ` WHERE id = ${id}`);
if(result){
res.send(Success(result))
return
}else{
res.send(MError('修改失败,请再次尝试'))
return
}
})
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了python 解决微分方程的操作(数值解法),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
pygame是python用来写游戏的扩展包,用这个扩展包,可以比较容易的构造一个游戏窗口,这篇文章主要给大家介绍了关于如何利用Python创建一个游戏窗口的相关资料,需要的朋友可以参考下
这篇文章主要介绍了python中序列的逆序方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
有的时候需要用python处理二进制数据,比如,存取文件,socket操作时 这时候,可以使用python的struct模块来完成 可以用 struct来处理c语
每当有朋友过生日时,生日蛋糕自然是必不可少的。本文将利用Python中的turtle、math和random绘制一个可爱的生日蛋糕,需要的可以参考一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008