日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Vue實(shí)現(xiàn)動(dòng)態(tài)顯示表單項(xiàng)填寫進(jìn)度功能

瀏覽:247日期:2022-06-10 13:08:41
目錄
  • 一、序言
    • 1、業(yè)務(wù)需求
    • 2、目標(biāo)效果
  • 二、原理
    • 三、全部代碼

      一、序言

      1、業(yè)務(wù)需求

      表單項(xiàng)填寫了,進(jìn)度條就增加相應(yīng)的比例,表單項(xiàng)未填寫,進(jìn)度條就 減少相應(yīng)的比例

      2、目標(biāo)效果

      二、原理

      1、如何監(jiān)測表單項(xiàng)是否有值,可以專門用對象存儲(chǔ)進(jìn)度條增幅比例。如果表單項(xiàng)有值則存儲(chǔ),沒有值則賦值為0,然后表單項(xiàng)使用@change事件監(jiān)聽表單項(xiàng)是否變化,然后調(diào)用一個(gè)公共的計(jì)算進(jìn)度條的方法,這個(gè)方法去遍歷calculateIntegrityForm對象的key對應(yīng)的value值,然后累加這個(gè)value值,最后賦值給進(jìn)度條

      form: {    // 存儲(chǔ)表單項(xiàng)的表單    name: "",    region: "",    type: [],    resource: "",},calculateIntegrityForm: {    // 存儲(chǔ)進(jìn)度條比例的表單    name: 0,    region: 0,    type: 0,    resource: 0,}
          // 監(jiān)聽特殊資源變化    resourceChangeFn(val) {      this.form.resource = val;      this.updateProgress("resource", 25);    },    // 監(jiān)聽活動(dòng)性質(zhì)變化    typeChangeFn(val) {      this.form.type = val;      this.updateProgress("type", 25);    },    // 監(jiān)聽活動(dòng)區(qū)域變化    regionChangeFn(val) {      this.form.region = val;      this.updateProgress("region", 25);    },    // 監(jiān)聽活動(dòng)名稱變化    nameChangeFn(val) {      this.form.name = val;      this.updateProgress("name", 25);    },    // 監(jiān)聽進(jìn)度條變化    updateProgress(key, num) {      let sum = 0;      if (this.isEmpty(this.form[key])) {// 監(jiān)聽的元素為空this.calculateIntegrityForm[key] = 0;      } else {// 監(jiān)聽的元素不為空this.calculateIntegrityForm[key] = num;      }      for (let i in this.calculateIntegrityForm) {sum += this.calculateIntegrityForm[i];      }      this.percentage = sum;    },

      2、如何判斷對象、數(shù)組、字符串為空

          // 判斷變量字符串、數(shù)組、對象是否為空的公共方法    isEmpty(str) {      let thisType = typeof str;      if (str === "" || str === null || str === undefined) {// null、undefined// 這里之所以用全等于,因?yàn)椋?/ 1.JS里,‘" == 0 == [],會(huì)被判斷成相同,而下方針對數(shù)字0和空數(shù)組做出單獨(dú)處理,故此處只需要單獨(dú)判斷‘"http:// 2.JS里,typeof null == object,為簡化下方object處判斷邏輯,故此處需要用全等判斷nullreturn true;      } else if (thisType == "string" && str.replace(/(^\s*)|(\s*$)/g, "").length == 0) {//stringreturn true;      } else if (thisType == "number" && isNaN(str) || str == 0) {//numberreturn true;      } else if (thisType == "object") {if (str instanceof Array) {// 數(shù)組為空判斷  return str.length == 0;} else { // 對象為空判斷  return JSON.stringify(str) == "{}";}      }      return false;// 傳入str不為空    }

      3、for in用于對象的遍歷,form[key]用于對象賦值

      三、全部代碼

      本項(xiàng)目只是一個(gè)demo,我全部寫在App.vue中,只安裝了一個(gè)elementui插件

      <template>  <div id="app">    <el-form :model="form" ref="form" label-width="100px">      <el-form-item label="活動(dòng)名稱"><el-input v-model="form.name" @change="nameChangeFn" clearable></el-input>      </el-form-item>      <el-form-item label="活動(dòng)區(qū)域"><el-select v-model="form.region" placeholder="請選擇活動(dòng)區(qū)域" @change="regionChangeFn" clearable>  <el-option label="區(qū)域一" value="shanghai"></el-option>  <el-option label="區(qū)域二" value="beijing"></el-option></el-select>      </el-form-item>      <el-form-item label="活動(dòng)性質(zhì)"><el-checkbox-group v-model="form.type" @change="typeChangeFn">  <el-checkbox label="美食/餐廳線上活動(dòng)" name="type"></el-checkbox>  <el-checkbox label="地推活動(dòng)" name="type"></el-checkbox>  <el-checkbox label="線下主題活動(dòng)" name="type"></el-checkbox>  <el-checkbox label="單純品牌曝光" name="type"></el-checkbox></el-checkbox-group>      </el-form-item>      <el-form-item label="特殊資源"><el-radio-group v-model="form.resource" @change="resourceChangeFn">  <el-radio label="線上品牌商贊助"></el-radio>  <el-radio label="線下場地免費(fèi)"></el-radio></el-radio-group>      </el-form-item>      <el-form-item label="進(jìn)度條"><el-progress :text-inside="true" :stroke-width="26" :percentage="percentage"></el-progress>      </el-form-item>    </el-form>  </div></template><script>export default {  name: "App",  data() {    return {      percentage: 0, // 百分比      form: {name: "",region: "",type: [],resource: "",      },      calculateIntegrityForm: {name: 0,region: 0,type: 0,resource: 0,      }    }  },  methods: {    // 監(jiān)聽特殊資源變化    resourceChangeFn(val) {      this.form.resource = val;      this.updateProgress("resource", 25);    },    // 監(jiān)聽活動(dòng)性質(zhì)變化    typeChangeFn(val) {      this.form.type = val;      this.updateProgress("type", 25);    },    // 監(jiān)聽活動(dòng)區(qū)域變化    regionChangeFn(val) {      this.form.region = val;      this.updateProgress("region", 25);    },    // 監(jiān)聽活動(dòng)名稱變化    nameChangeFn(val) {      this.form.name = val;      this.updateProgress("name", 25);    },    // 監(jiān)聽進(jìn)度條變化    updateProgress(key, num) {      let sum = 0;      if (this.isEmpty(this.form[key])) {// 監(jiān)聽的元素為空this.calculateIntegrityForm[key] = 0;      } else {// 監(jiān)聽的元素不為空this.calculateIntegrityForm[key] = num;      }      for (let i in this.calculateIntegrityForm) {sum += this.calculateIntegrityForm[i];      }      this.percentage = sum;    },    // 判斷變量字符串、數(shù)組、對象是否為空的公共方法    isEmpty(str) {      let thisType = typeof str;      if (str === "" || str === null || str === undefined) {// null、undefined// 這里之所以用全等于,因?yàn)椋?/ 1.JS里,‘" == 0 == [],會(huì)被判斷成相同,而下方針對數(shù)字0和空數(shù)組做出單獨(dú)處理,故此處只需要單獨(dú)判斷‘"http:// 2.JS里,typeof null == object,為簡化下方object處判斷邏輯,故此處需要用全等判斷nullreturn true;      } else if (thisType == "string" && str.replace(/(^\s*)|(\s*$)/g, "").length == 0) {//stringreturn true;      } else if (thisType == "number" && isNaN(str) || str == 0) {//numberreturn true;      } else if (thisType == "object") {if (str instanceof Array) {// 數(shù)組為空判斷  return str.length == 0;} else { // 對象為空判斷  return JSON.stringify(str) == "{}";}      }      return false;// 傳入str不為空    }  },}</script><style>.el-form {  position: absolute;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);}#app {  height: 100%;}</style>

      到此這篇關(guān)于Vue實(shí)現(xiàn)動(dòng)態(tài)顯示表單項(xiàng)填寫進(jìn)度功能的文章就介紹到這了,更多相關(guān)Vue動(dòng)態(tài)顯示表單項(xiàng)填寫進(jìn)度內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

      標(biāo)簽: JavaScript
      日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
      精品久久久中文字幕| 亚洲一区观看| 国产美女亚洲精品7777| 中文字幕一区二区三区四区久久| 男人的天堂亚洲一区| 中文字幕免费精品| 日韩精品免费视频一区二区三区| 日韩国产欧美视频| 老鸭窝亚洲一区二区三区| 日韩视频一区| 伊人久久在线| 欧洲激情综合| 免费高清在线一区| 日韩国产精品久久久久久亚洲| 欧美日韩 国产精品| 精品视频91| 久久激情婷婷| 天堂成人免费av电影一区| 日韩精品国产欧美| 久久精品一区二区国产| 久久久久免费| 国产一区91| 欧美三级第一页| 91精品国产自产观看在线| 国产一区三区在线播放| 日韩啪啪电影网| 激情综合亚洲| 亚洲精品日韩久久| 麻豆精品99| 亚洲黄色中文字幕| 欧美高清一区| 人人爽香蕉精品| 日韩av资源网| 国产精品视频一区二区三区| а√天堂8资源中文在线| se01亚洲视频| av日韩中文| 女人天堂亚洲aⅴ在线观看| 免费污视频在线一区| 亚洲综合精品| 91av一区| 日韩免费久久| 男女男精品网站| 欧美日韩一区二区三区四区在线观看| 欧美aⅴ一区二区三区视频| 粉嫩av一区二区三区四区五区 | 综合激情在线| 久久麻豆视频| av一区二区高清| 国产精品一区2区3区| 亚洲福利精品| 国产精品亚洲二区| 激情久久婷婷| 免费看久久久| 99成人在线| 麻豆精品99| 视频一区视频二区中文字幕| 荡女精品导航| 日韩毛片网站| 久久精品高清| 日韩国产91| 欧美高清不卡| 国语精品一区| 亚洲精品日本| 久久中文字幕av一区二区不卡| 亚洲精品极品| 欧美羞羞视频| 国产精选久久| 亚洲尤物在线| 91综合网人人| 天海翼亚洲一区二区三区| 日本一区二区免费高清| 免费日韩视频| 精品五月天堂| 日韩动漫一区| 成人精品中文字幕| 亚洲综合激情在线| 香蕉成人av| 欧美国产极品| 日韩在线观看一区二区| 国产一区二区三区日韩精品| 亚洲青青久久| 激情久久中文字幕| 国产日韩欧美| 99riav国产精品| 亚洲国产福利| 91成人精品在线| 日韩中文字幕不卡| 国产综合亚洲精品一区二| 久久av网址| 亚洲欧美久久久| 亚洲v在线看| 欧美1区二区| 视频一区日韩| 欧美日韩国产综合网| 成人午夜亚洲| 国产伦精品一区二区三区千人斩| 亚洲免费网址| 国产精品7m凸凹视频分类| 欧美视频二区| 免费在线视频一区| 亚洲精品一区二区妖精| 久久精品国产免费| 在线观看一区| 在线精品福利| 国内亚洲精品| 中文一区一区三区高中清不卡免费| 日韩精品导航| 亚洲精品一级| 亚洲色图综合| 亚洲一二三区视频| 热久久久久久久| 日韩专区一卡二卡| 综合激情一区| 日韩精品第二页| 欧美亚洲一区二区三区| 91亚洲无吗| 91精品麻豆| 国产麻豆一区二区三区精品视频| 欧美日韩一区自拍| 日本va欧美va精品发布| 日本在线不卡视频| 欧美日韩精品一区二区三区视频 | 国产91精品对白在线播放| 免费污视频在线一区| 久久精品免费一区二区三区 | 免费在线观看成人| 综合一区二区三区| 亚洲精品伊人| 国产探花一区| 精品美女视频 | 午夜av成人| 国产综合亚洲精品一区二| 亚洲作爱视频| 亚洲欧美日韩国产| 日韩精品一级| 国产麻豆精品| 国产成人调教视频在线观看| 国产一区二区三区四区五区传媒 | 久久影视一区| 奶水喷射视频一区| 日韩欧美另类中文字幕| 日韩专区视频网站| 国产精品久久久一区二区| 日韩综合在线| 免费久久精品| 婷婷精品在线观看| 国产毛片精品| 综合日韩av| 麻豆成人在线| 国产视频网站一区二区三区| 国产一区二区三区黄网站| 久久在线视频免费观看| 久久午夜精品一区二区| 欧美日韩1区2区3区| 91青青国产在线观看精品| 亚洲欧洲另类| 久久国产精品毛片| 欧美日韩一区自拍| 国产精品毛片一区二区在线看| 精品中文字幕一区二区三区av| 水野朝阳av一区二区三区| 亚洲一区二区三区高清| 国产精品一区亚洲| 欧美成人精品三级网站| 亚洲一区二区小说| 久久精品国产99| 欧美日韩国产综合网| 日韩毛片一区| 亚洲黄色网址| 中文字幕一区二区三区在线视频| 国产精品对白| 精品欧美日韩精品| 免费污视频在线一区| 蜜桃久久久久久| 国产精品久久久一区二区| 亚洲不卡系列| 一区二区三区午夜视频| 久久精品三级| 9国产精品视频| 亚洲aa在线| 日韩欧美午夜| 亚洲1区在线| 成人污污视频| 国产美女一区| 日本一二区不卡| 亚洲va久久久噜噜噜久久| 给我免费播放日韩视频| 国产麻豆久久| 国产日韩欧美| 国产精品日本| 老色鬼精品视频在线观看播放| 激情五月色综合国产精品| 国产欧美一区二区精品久久久| 欧美中文一区二区| 久久精品国产网站| 亚洲我射av| 不卡av一区二区| 久久精品国产久精国产爱| 亚洲精选久久|