返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue中如何使用Map键值对传参详析
  • 664
分享到

Vue中如何使用Map键值对传参详析

vue发送map参数map键值对vue中map的用法 2022-11-13 14:11:56 664人浏览 薄情痞子
摘要

目录Vue里使用Map键值对传参补充:vue遍历Map,Map在vue中的使用方法总结Vue里使用Map键值对传参 问题描述:在参数传递时时候Map键值对key:value的形式进行

Vue里使用Map键值对传参

问题描述:在参数传递时时候Map键值对key:value的形式进行传参。

1、date数据区定义声明map变量和中间数据变量temp:

data(){
     return{
          //其他代码
           map:'',
           temp:[]
            }
        },

2、methods方法区接口传值:声明map为Map变量,接收接口传过来的key数据生成表单项数据项:

this.map=new Map()

即:

//点击待办任务,去处理待办任务 填写待办表单
            GoDealTaskShow(index){
                this.$fetchPost('你的接口',{taskID:this.taskFORM.taskId}).then(res=>{
                    this.getTaskForm = res.data;
                    this.map = new Map()
                    for (var i=0;i<this.getTaskForm.length;i++){
                        this.map.set(this.getTaskForm[i].fieldName,'');
                    }
                    console.log(this.getTaskForm,'集合集合')
                    console.log(this.map,'map集合')
                })     
                 this.taskNameList.push(this.$refs.taskName[index].innerhtml)
               this.taskIdList.push(this.$refs.taskId[index].innerHTML)
            },

3、form表单数据绑定,且根据for循环index值用temp数据进行数据绑定。

<el-form-item v-for="(item,index) in map" :key="item[0]" :label="item[0]">
     <div class="dealTaskItem">
          <el-input @input="updateForce($event)"  v-model ="temp[index]" class="dateTaskCSS" placeholder="请输入" clearable @change="mapUpdate(item[0],index)"></el-input>
    </div>
</el-form-item>

4、mapUpdate方法将temp数组接收的值对Map进行key:value传值:

mapUpdate(key,index){
                this.map.set(key,this.temp[index]);
                console.log(key)
                console.log(this.map)
            }

5、mapToJSON方法对map进行json数据格式转换:

mapToJson(map) {
        return JSON.stringify(this.strMapToObj(map));
    },

6、map数据赋值给接口参数,进行传参:

saveDealTaskForm(){
                this.$forceUpdate();
                this.saveTaskForm.result=this.mapToJson(this.map);
                console.log( this.mapToJson(this.map),' mapToJson(this.map)')
               
                this.$fetchPost('你的接口',this.saveTaskForm,'json').then(res=>{
                    if (res.code===0){
                        this.$message({
                            message:res.data,
                            type:'success',
                        })
                        this.initEvents();//数据刷新
                    }else{
                        this.$message.error("处理失败!")
                    }
                })
                this.dealTaskVisible = false;//关闭表单弹窗
            },

搞定,嘻嘻!

补充:vue遍历Map,Map在vue中的使用方法

Map在vue中的使用方法:

html:遍历的时候要遍历两遍

<template>
  <div class="course">
       <div class="">
           <div class="pt0 ctRow">
                <ul class="ctNavbar">
                    <li class="ctA"
                        v-for="(item,index) in courseTypeList"
                        :key="item.id"
                        @click="selectedCur(index)" :class="{ cur:cur == index }"
                        :data-id="item.id"
                    >
                        {{item.courseTypeName}}
                    </li>
                </ul>
           </div>
           
           <!--Map遍历两遍 -->
            <div class="ctRow date_navbar">
                <a href="javascript:;"
                   v-for="(item,index) in dateMap"
                   :key="index"
                   @click="dataCur(index)" :class="{ cur:active == index }"
                >
                    <span  v-for="data in item">{{data}}</span>
                </a>
            </div>
       </div>
  </div>
</template>

js:

  data(){
            return{
             	cur: "0",
                active:"0",
                courseTypeList: [],
                dateMap:{},
            }
        },
 mounted(){
  		// 后端返回json
          var jsonStr ={
			    "code": 0,
			    "msg": "success",
			    "data": {
			        "courseTypeList": [
			            {
			                "id": "16",
			                "courseTypeName": "小一班"
			            },
			            {
			                "id": "15",
			                "courseTypeName": "中一班"
			            },
			            {
			                "id": "14",
			                "courseTypeName": "大一班"
			            }
			        ],
			        "dateKeys": [
			            "二·11.26",
			            "三·11.27",
			            "四·11.28",
			            "五·11.29",
			            "六·11.30",
			            "日·12.01",
			            "一·12.02"
			        ]
			    }
			}
            // 遍历班级类型
            for (var i = 0; i < jsonStr.data.courseTypeList.length; i++) {
                var courseTypeList = jsonStr.data.courseTypeList[i];
                this.courseTypeList.push(courseTypeList)
            }

            // 遍历日期
            //初始化Map对象
            var dateMap = new Map();
            for (var i = 0; i < jsonStr.data.dateKeys.length; i++) {
                var data = jsonStr.data.dateKeys[i];
                	//用split连在一起的字符串切割 "三·11.27"
                   //使用set添加键值示例:m.set('小红', 30);
                dateMap.set(data.split("·")[0], data.split("·")[1]);
            }
            this.dateMap = dateMap;
        },

css:

  .ctNavbar{
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-align: center;
        .ctA{
            padding: 10px 0;
            color: #202020;
            font-size: 1.5rem !important;
            border-bottom: 2px solid transparent;
            width: 33%;
            &.cur{
                color: #BA0932;
                border-bottom: 2px solid #BA0932;
            }
        }
    }
       .date_navbar {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        a {
            width: 32px;
            -WEBkit-box-flex: 1;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-direction: column;
            font-size: 9px;
            color: #6C6C6C;
            padding: 2px 5px;
            flex: 1;
            span {
                display: block;
                -webkit-box-flex: 1;
            }
            &.cur {
                background: #BA0932;
                color: #fff;
                border-radius: 16px;
            }
        }
    }

总结

到此这篇关于Vue中如何使用Map键值对传参的文章就介绍到这了,更多相关Vue用Map键值对传参内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Vue中如何使用Map键值对传参详析

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

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

猜你喜欢
  • Vue中如何使用Map键值对传参详析
    目录Vue里使用Map键值对传参补充:vue遍历Map,Map在vue中的使用方法总结Vue里使用Map键值对传参 问题描述:在参数传递时时候Map键值对key:value的形式进行...
    99+
    2022-11-13
    vue发送map参数 map键值对 vue中map的用法
  • vue中如何使用params、query传参
    这篇文章主要介绍vue中如何使用params、query传参,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!声明式:<router-link :to="..."...
    99+
    2024-04-02
  • vue路由传参-如何使用encodeURI加密参数
    目录使用encodeURI加密参数比如参数是一个对象obj解密方式是使用decodeURIvue路由加密传参传参页面接收页面使用encodeURI加密参数 在路由切换时页面需要使用地...
    99+
    2024-04-02
  • JS中的Map对象如何使用
    这篇文章主要讲解了“JS中的Map对象如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JS中的Map对象如何使用”吧!JS中的Map对象js创建map对象var map&nb...
    99+
    2023-07-05
  • 如何在php中实现对象传值与引用传值
    今天就跟大家聊聊有关如何在php中实现对象传值与引用传值,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。变量赋值与对象赋值对比<php   //&n...
    99+
    2023-06-06
  • Java Map.values()方法之如何获取Map集合中的所有键值对象
    目录Java Map.values()方法获取Map集合中的所有键值对象Java Map集合、Map集合的基本功能、Map集合的获取功能Map集合概述和使用Map集合的基本...
    99+
    2023-03-22
    Java Map.values()方法 Java获取Map集合 Map集合键值对象
  • python如何使用clear()删除字典键值对
    这篇文章主要为大家展示了“python如何使用clear()删除字典键值对”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用clear()删除字...
    99+
    2024-04-02
  • python如何使用popitem()删除字典键值对
    小编给大家分享一下python如何使用popitem()删除字典键值对,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!popite...
    99+
    2024-04-02
  • python如何使用pop()删除字典键值对
    这篇文章将为大家详细讲解有关python如何使用pop()删除字典键值对,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。pop()删除字典键值对dict4 =&n...
    99+
    2024-04-02
  • jQuery中animate()如何使用相对值
    小编给大家分享一下jQuery中animate()如何使用相对值,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!jQuery animate() - 使用相对值也可以定义相对值(该值相对于元...
    99+
    2024-04-02
  • 如何在python中使用关键字参数
    本篇文章给大家分享的是有关如何在python中使用关键字参数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python主要用来做什么Python主要应用于:1、Web开发;2、...
    99+
    2023-06-14
  • Lua中如何用table存储和访问键值对
    在Lua中,可以使用table来存储和访问键值对。以下是一个示例: -- 创建一个空的table local myTable = {...
    99+
    2024-04-10
    Lua
  • vue中如何实现filters传入两个参数和使用两个filters
    这篇文章主要为大家展示了“vue中如何实现filters传入两个参数和使用两个filters”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中如何实现fil...
    99+
    2024-04-02
  • 如何使用 PHP 按键值对数组进行排序?
    是的,可以使用 ksort() 或 krsort() 函数按键值对数组进行排序。ksort() 按键升序排序,krsort() 按键降序排序。 使用 PHP 按键值对数组进行排序 在 ...
    99+
    2024-05-01
    php 排序 键值对
  • vue中get方法\post方法如何传递数组参数详解
    目录1、vue中get方法如何传递数组参数2、vue get与post传参方式2.1post:用data传递参数2.2get:用params传递参数附:uniapp使用uview报错...
    99+
    2023-03-23
    vue参数传递 vue的get请求传入数组参数 vue get请求传递参数
  • 使用vue router路由传参刷新页面参数丢失如何解决
    本篇文章为大家展示了使用vue router路由传参刷新页面参数丢失如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。方法一:通过 params 传参路由配置如下:{  &n...
    99+
    2023-06-15
  • vue子组件如何使用父组件传过来的值
    目录子组件使用父组件传过来的值父组件子组件vue子组件调用父组件数据子组件使用父组件传过来的值 父组件 <alarmstatistics :roless.sync="role"...
    99+
    2024-04-02
  • 如何用PHP移除数组中特定的键值对
    这篇文章主要介绍了如何用PHP移除数组中特定的键值对的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何用PHP移除数组中特定的键值对文章都会有所收获,下面我们一起来看看吧。方法一:使用unset()函数移除指定...
    99+
    2023-07-05
  • angular中如何使用post、get向后台传参
    小编给大家分享一下angular中如何使用post、get向后台传参,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、问题的来源我们都知道向后台传参可以使用get、put,其形式就类似于n...
    99+
    2024-04-02
  • 如何在Vue中使用axios上传图片
    如何在Vue中使用axios上传图片?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在vue和axios的配合下实战一波<!--   &nbs...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作