项目场景:

在这里插入图片描述
需要VantUI实现的功能


问题描述

vant中的picker选择器,只能用这种数组,来展示数据

columns: [‘杭州’, ‘宁波’, ‘温州’, ‘绍兴’, ‘湖州’, ‘嘉兴’, ‘金华’, ‘衢州’],

在这里插入图片描述
往往我们的请求数据,都是这样的。对象数组,需要id,也需要文字显示。


原因分析:

要实现的功能
在这里插入图片描述
我的选中项能展示名称,并且选中了还可以知道它的id。


解决方案:

步骤1、直接给 选择器数组 赋值为【对象数组】

<van-picker 
title="请选择请假类型" 
show-toolbar 
:columns="leaveTypeList" 
:key="" @confirm="onConfirmType"
@cancel="onCancelType">
</van-picker>

把res.data里面的对象数组,直接赋值给leaveTypeList


虽然显示会有问题,不过用担心,重点还在下一步!
在这里插入图片描述

步骤2、利用插槽,来展示对象数组里面的【属性】

把template代码更新进去

<van-picker title="请选择请假类型" show-toolbar :columns="leaveTypeList" 
:key="" @confirm="onConfirmType" @cancel="onCancelType">

	<template #option="option">
		<div style="display: flex; flex-direction: column; align-items: center;">
			<div>id:{{ option.id }}</div>
			<div>名称:{{ option.name }}</div>
		</div>
	</template>

</van-picker>

在这里插入图片描述
可以发现,已经展示了我需要的数据。

选中了病假,如何获取id???

非常简单,我们选中会有下标,直接通过下图方式
在这里插入图片描述
用数组下标获取对象的属性值,非常简单。同时回显也做好了。

解决了因为数组不统一,导致2个数组,1个提取文字显示、然后多一个变量的复杂代码。

直接一个数组解决,能不用2个,就不用2个

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐