【uni-app】picker普通选择器的用法

本文介绍了在uni-app中使用picker时遇到的对象数组显示为[object Object]的问题,以及如何通过设置`range-key`属性来解决这个问题,确保选择器能够正确显示数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击前:
在这里插入图片描述
点击后:
在这里插入图片描述

<view class="item">
	<view class="title">选择学员</view>
	<view class="line flex justify-between" style="width: 100%;">
		<view class="desc">
			{{checkStudents[studentIndex].name}}
		</view>
		<picker mode="selector" :range="checkStudents" range-key="name" @change="checkStudent" :value="studentIndex" class="right">选择</picker>
	</view>
</view>
<view class="item">
	<view class="title">任课老师</view>
	<view class="line flex justify-between" style="width: 100%;">
		<view class="desc">
			{{checkTeachers[teacherIndex]}}
		</view>
		<picker mode="selector" :range="checkTeachers" @change="checkTeacher" :value="teacherIndex" class="right">选择</picker>
	</view>
</view>

说明:因为姓名可能会相同,最好给个id区分,例如选择学员checkStudents数组。为了方便区分,选择任课老师我就没有用id了。

data() {
	return {
		checkStudents:[
			{
				id:0,
				name:'刘新华'
			},
			{
				id:1,
				name:'路招摇'
			},
			{
				id:2,
				name:'白露'
			},
			{
				id:3,
				name:'任菲菲'
			},
			{
				id:4,
				name:'刘德华'
			}
		],
		studentIndex:0,
		checkTeachers:[
			"张飒","路招摇","白露","任菲菲","刘德华","张大某","杨紫","李一飞","白岳峰","朱砂痣"
		],
		teacherIndex:0,
	};
},
methods: {
	// 选择学员
	checkStudent:function(e){
		this.studentIndex = e.detail.value;
	},
	// 选择任课老师
	checkTeacher:function(e){
		this.teacherIndex = e.detail.value;
	},
}

如果你的数据是对象数组
就会有个坑 弹出来的的选项直接是[object Object]

解决办法==》

只需要将rang-key中的字符串加上单引号即可
:range-key="‘name’"
如下代码所示

<picker mode="selector" :range="userList" @change="choice1" :value="aIndex" :range-key="'name'">
		<view class="pbox" style="width: 180rpx;height: 60rpx;">
			<view class="picker">{{userList[aIndex].name}}</view>		
		</view>					
</picker>

官网picker组件用方法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值