用vue怎么实现前后端的获取表数据,方法是什么
Admin 2022-06-21 群英技术资讯 582 次浏览
将用户及图像联系在一起
修改关联的时候,前端向后端传入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开发chrome插件的方法,结合实例形式分析了Python实现chrome浏览器插件相关操作技巧,需要的朋友可以参考下
这篇文章主要为大家详细介绍了Python实现仓库管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Python提供了两个级别的访问网络服务。 在低级别,可以访问底层操作系统中的基本套接字支持,这允许您实现面向连接和无连接协议的客户端和服务器。
Requests是用Python语言编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。Requests的哲学是以PEP 20 的习语为中心开发的,所以它比urllib更加Pythoner。更重要的一点是它支持Python3哦!
本文主要介绍了Flask框架之数据交互的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008