91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Vue中怎么使用Map鍵值對傳參

發布時間:2022-08-03 17:47:50 來源:億速云 閱讀:356 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Vue中怎么使用Map鍵值對傳參”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Vue中怎么使用Map鍵值對傳參”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

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鍵值對傳參”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜阳市| 塘沽区| 灵台县| 永定县| 高唐县| 神池县| 永仁县| 建瓯市| 理塘县| 财经| 资溪县| 哈密市| 盘锦市| 尼勒克县| 休宁县| 遂溪县| 剑河县| 甘孜县| 监利县| 永顺县| 郓城县| 泰宁县| 吉水县| 朝阳市| 平顺县| 台中县| 石首市| 昆山市| 博湖县| 马山县| 辛集市| 商城县| 大兴区| 临澧县| 辽中县| 璧山县| 凌源市| 萍乡市| 冷水江市| 曲麻莱县| 龙山县|