0
点赞
收藏
分享

微信扫一扫

VUe-数组get传递


vue中get方法如何传递数组参数

直接放在对象中传递数组

 

export function getCrApplicationList(data) {
  var test = ['111', '222']
  return request({
    url: '/applicant/CrApplication/List',
    method: 'get',
    params: { test }
  })
}

 

 

传递的参数格式如下:

 

 

但是这样的话后台是取不到值的,我们需要把数组变成如下这种格式:

test:111
test:222

 

首先找到axios.js,加如下代码:

if (config.method === 'get') {
    // 如果是get请求,且params是数组类型如arr=[1,2],则转换成arr=1&arr=2
    config.paramsSerializer = function(params) {
      return qs.stringify(params, { arrayFormat: 'repeat' })
    }
  }

如果get请求中参数是数组格式,则数组里每一项的属性名重复使用。

 

效果如下:

 

 

 

url如果使用get方式传递数组。只需传入多个同名参数即可

eg:

 https://test.net/do.action?paramA=valArr1&paramA=valArr2&paramsB=valB

此时paramA在后台即可使用数组方式接收

————————————————
 

 

 

vue使用new Set去重

 

const arr=new Set()

ThisList.forEach((item, index) => {
          if(item&&item.id>0){
            arr.add(item.id)
          }
        })

 this.idNames=''
this.idNames=Array.from(arr).join(',')

 

一下方法是点击获取值然后添加到数组中并去重:

handleNodeClick(data) {
            if (data.flg == true && this.zhishi.length < 5) {
                this.zhishi.push(data.label);
              //这里new Set是去重的 但是去重之后是个假数组 需要使用Array.from转换为真数组
                this.zhishi=Array.from(new Set(this.zhishi));
            } else if (data.flg == true && this.zhishi.length >= 5) {
                this.$message({
                    message: '抱歉 只允许添加5条',
                    type: 'warning'
                });
            }
        },

 

 

vue 字符串、数组之间的相互转换

 
1、字符串转数组

 

str.split(';'); //以分号拆分字符串

 

2、数组转字符串

 

arr.join(';'); //把数组项拼接成字符串,并以分号隔开。默认情况下是以逗号隔开
————————————————
 

 

 

 

vue关于数字的处理(四舍五入,向上取整,向下取整。。)

(38.89768).toFixed(2)

 

Number(parseFloat(34.3232))

截取小数点后面的两位,四舍五入。

 
关于数字的处理(四舍五入,向上取整,向下取整。。)

在vue项目中可以新建一个filter.js的文件 在文件中将这些过滤全部写进去,再在页面进行引用

1、时分秒的显示
格式 00:00:00

export const timeFilter = val => {
 function p(t) {
 return t < 10 ? ‘0’ + t: t;
 }
 var h = Math.floor(val/1000/60/60);
 var m = Math.floor(val/1000/60%60);
 var s = Math.floor(val/1000%60);
 var str = p(h) + ‘:’ + p(m) + ‘:’ + p(s);
 return str
 }


使用:

{{timeFilter(fileInfo.needTime) || ‘’}}
2、向下取整的函数
Math.floor();
例如:Math.floor( 23.2222222); // 23

3、向上取整
Math.ceil();
例如: Math.ceil(23.333333); // 24

4、四舍五入
Math.round();
例如:Math.round(23.33333); // 23

5、四舍五入取n位小数,运算后得到的是字符串
().toFixed(n); // 取小数点后n位
例如:(36.36498524).toFixed(3); // 36.365

ps:虽然写的是vue,但是不仅仅vue中可以使用哦 

举报

相关推荐

0 条评论