广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >详解vue+nodejs获取多个表数据的方法
  • 295
分享到

详解vue+nodejs获取多个表数据的方法

2024-04-02 19:04:59 295人浏览 薄情痞子
摘要

目录效果前端实现后端实现总结读取两个表的数据 将用户及图像联系在一起 效果 前端实现 修改关联的时候,前端向后端传入array[number],后端存为字符串 这时在前端获取数据时

读取两个表的数据

将用户及图像联系在一起

效果

前端实现

修改关联的时候,前端向后端传入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
  }
})

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: 详解vue+nodejs获取多个表数据的方法

本文链接: https://www.lsjlt.com/news/160394.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解vue+nodejs获取多个表数据的方法
    目录效果前端实现后端实现总结读取两个表的数据 将用户及图像联系在一起 效果 前端实现 修改关联的时候,前端向后端传入array[number],后端存为字符串 这时在前端获取数据时...
    99+
    2022-11-12
  • vue+nodejs获取多个表数据的方法是什么
    这期内容当中小编将会给大家带来有关vue+nodejs获取多个表数据的方法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。读取两个表的数据将用户及图像联系在一起效果前端实现修改关联的时候,前端向后端传...
    99+
    2023-06-22
  • Vue获取表单数据的方法
    目录需求获取数据并提交模板过滤器过滤器的使用场景总结 需求 使用Vue收集如下用户数据: 获取数据并提交 代码实现: 将value的值与变量属性进行绑定 v-model.tri...
    99+
    2022-11-12
  • nodejs获取表单数据的三种方法实例
    前言 nodejs作为服务端语言,在开发中注册登录等需通过form表单向后端发送数据进行判断,那作为服务端语言的nodejs通过哪些方法可以接收调用form表单的post请求值呢。 ...
    99+
    2022-11-12
  • Vue获取表单数据的方法是什么
    Vue获取表单数据的方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。需求使用Vue收集如下用户数据:获取数据并提交代码实现:将value的值与变量属性进行绑定v-m...
    99+
    2023-06-22
  • Javaweb中Request获取表单数据的四种方法详解
    目录表单代码request.getParamter(String name);通过name获取值request.getParamterValues(String name);通过na...
    99+
    2022-11-13
  • 详解php获取数组值的多种方法
    在PHP中,数组是一种重要的数据类型,常常作为存储和处理数据的工具。一个数组通常包含多个元素,而每个元素都可以单独访问。而有时候,我们需要从数组中取出某个特定的值,以进行计算、比较、输出等操作。接下来,我们就来了解一下如何在PHP中取出数组...
    99+
    2023-05-14
  • SpringMVC获取表单数据的方法
    本篇内容介绍了“SpringMVC获取表单数据的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!SpringMVC获取表单数据1、实体类p...
    99+
    2023-06-20
  • Android编程获取GPS数据的方法详解
    本文实例讲述了Android编程获取GPS数据的方法。分享给大家供大家参考,具体如下: GPS是Android系统中重要的组成部分,通过它可以衍生出众多的与位置相关的应用。 A...
    99+
    2022-06-06
    方法 gps Android
  • Android编程获取图片数据的方法详解
    本文实例讲述了Android编程获取图片数据的方法。分享给大家供大家参考,具体如下:网络的访问在我们日常生活中太重要了,如果没有网络我们的生活将会是什么样子呢?Android手机和浏览器也是一样的,也可以通过网络通讯获取数据,如调用webs...
    99+
    2023-05-30
    android 图片 roi
  • C#水晶报表数据获取的方法
    这篇文章主要讲解了“C#水晶报表数据获取的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#水晶报表数据获取的方法”吧!C#水晶报表数据获取方法有很多,那么这里主要向你介绍一个通过提取模...
    99+
    2023-06-17
  • JS获取表单中数据formdata的方法
    这篇文章主要介绍了JS获取表单中数据formdata的方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。在文章正式开始之前呢,先介绍一个知识点,那就是var和let的区别,查看了各路大佬的文章,也经过各种尝试,最终得出的...
    99+
    2023-07-06
  • Android 如何获取传感器的数据方法详解
    目录1 传感器简介2 传感器的使用2.1 获取传感器服务2.2 获取待监听的传感器2.3 注册传感器的监听器2.4 注销传感器的监听器3 示例代码1 传感器简介 传感器 Sensor...
    99+
    2022-11-13
  • 从 Angular Route 中提前获取数据的方法详解
    目录介绍你为什么应该使用 Resolver在应用中使用 Resolver创建服务并编写逻辑获取列表数据怎么应用一个预加载导航总结介绍 提前获取意味着在数据呈现在屏幕之前获取到数据。本...
    99+
    2022-11-13
  • 阿里云数据库的获取方法与使用详解
    阿里云数据库是阿里云推出的一款高性能、高可用、安全的云数据库服务。它能够满足用户的各种业务需求,包括但不限于数据存储、数据处理、数据安全等。本文将详细说明如何获取阿里云数据库,并对数据库的使用进行详解。 一、获取阿里云数据库获取阿里云数据库...
    99+
    2023-11-03
    阿里 详解 数据库
  • PHP获取表单数据的方法有哪几种
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑1、使用预定义变量$_GET,可获取GET方法提交的数据(form表单需要设置为method="get")在程序的开发过程中,由于 GET 方法提交...
    99+
    2017-02-24
    PHP 获取表单数据
  • php获取form表单数据的方法有哪些
    在PHP中,有以下几种方法可以获取form表单数据:1. 使用$_POST数组:$_POST是一个预定义的全局变量,用于收集通过PO...
    99+
    2023-08-17
    php
  • php中获取多个数组差集的方法有哪些
    这篇文章主要介绍“php中获取多个数组差集的方法有哪些”,在日常操作中,相信很多人在php中获取多个数组差集的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中获取多个数组差集的方法有哪些”的疑...
    99+
    2023-06-25
  • JS实现获取GIF总帧数的方法详解
    目录前言写在前面思路分析什么是Gif组成结构解析原理数据块分析Header BlockLogical Screen DescriptorGlobal Color TableGraph...
    99+
    2022-11-13
  • Sql在多张表中检索数据的方法详解
    目录1.内连接2.跨数据库连接3.自连接4.多表连接5.复合连接条件6.隐式连接语法7.外连接8.多表外连接9.自外部连接10.USING子句11.自然连接12.交叉连接13.联合1.内连接 各表分开存放是为了减少重复信...
    99+
    2023-02-16
    Sql检索数据 Sql多张表检索数据
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作