queryParams 对象转URL参数

该方法,可以将一个对象形式参数转换成get传参所需参数形式,如把{name: 'lisa', age: 20}转换成?name=lisa&age=20
用途:可以用于uni.navigateTo接口传参等场景,无需自己手动拼接URL参数

queryParams(data, isPrefix = true, arrayFormat = ‘brackets’)

  • data 对象值,如{name: 'lisa', age: 20}
  • isPrefix 是否在返回的字符串前加上”?”,默认为true
  • arrayFormat 属性为数组的情况下的处理办法,默认为brackets,见后面说明
    1. export default {
    2. data() {
    3. return {
    4. data: {
    5. name: 'lisa',
    6. age: 20
    7. }
    8. }
    9. },
    10. onLoad() {
    11. console.log(this.$u.queryParams(this.data));
    12. // 结果为:?name=lisa&age=20
    13. }
    14. }

    arrayFormat参数说明

    如果您传入的data对象内部某些属性值为数组的情况下,您可能需要留意这个参数的配置:
    该参数可选值有4个:indicesbracketsrepeatcomma,具体效果请见下方的演示说明

    1. export default {
    2. data() {
    3. return {
    4. data: {
    5. name: '冷月夜',
    6. fruits: ['apple', 'banana', 'orange']
    7. }
    8. }
    9. },
    10. onLoad() {
    11. this.$u.queryParams(this.data, true, 'indices');
    12. // 结果为:?name=冷月夜&fruits[0]=apple&fruits[1]=banana&fruits[2]=orange
    13. this.$u.queryParams(this.data, true, 'brackets');
    14. // 结果为:?name=冷月夜&fruits[]=apple&fruits[]=banana&fruits[]=orange
    15. this.$u.queryParams(this.data, true, 'repeat');
    16. // 结果为:?name=冷月夜&fruits=apple&fruits=banana&fruits=orange
    17. this.$u.queryParams(this.data, true, 'comma');
    18. // 结果为:?name=冷月夜&fruits=apple,banana,orange
    19. }
    20. }