返回介绍

开发指南

组件

JS

模板

queryParams 对象转URL参数

发布于 2021-04-03 05:35:23 字数 1656 浏览 858 评论 0 收藏 0

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

queryParams(data, isPrefix = true, arrayFormat = 'brackets')

  • data <Object> 对象值,如{name: 'lisa', age: 20}
  • isPrefix <Boolean> 是否在返回的字符串前加上"?",默认为true
  • arrayFormat <Boolean> 属性为数组的情况下的处理办法,默认为brackets,见后面说明
export default {
	data() {
		return {
			data: {
				name: 'lisa',
				age: 20
			}
		}
	},
	onLoad() {
		console.log(this.$u.queryParams(this.data));
		// 结果为:?name=lisa&age=20
	}
}

arrayFormat参数说明

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

export default {
	data() {
		return {
			data: {
				name: '冷月夜',
				fruits: ['apple', 'banana', 'orange']
			}
		}
	},
	onLoad() {
		this.$u.queryParams(this.data, true, 'indices');
		// 结果为:?name=冷月夜&fruits[0]=apple&fruits[1]=banana&fruits[2]=orange
		
		this.$u.queryParams(this.data, true, 'brackets');
		// 结果为:?name=冷月夜&fruits[]=apple&fruits[]=banana&fruits[]=orange
		
		this.$u.queryParams(this.data, true, 'repeat');
		// 结果为:?name=冷月夜&fruits=apple&fruits=banana&fruits=orange
		
		this.$u.queryParams(this.data, true, 'comma');
		// 结果为:?name=冷月夜&fruits=apple,banana,orange
	}
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文