目录前言实现效果我经过处理以后的效果图实现步骤 1、template部分2、data部分3、methods部分总结前言 在使用vant的框架的时候发现一件事,他的下拉内容只
在使用vant的框架的时候发现一件事,他的下拉内容只能输入文字,不可以是自定义,比如加图标,所以使用它的class名,然后仿照他的功能给完善了下,可以实现了自定义添加内容
vant原来框架的内容:
这里的图片地址没有,如果满足条件,前面就有图片
我这上面是vant的picker,可以打开看看之前的效果,这里是仿照他的效果实现的功能
<van-popup v-model="showPicker" position="bottom">
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- :columns="enterpriseList"-->
<!-- @cancel="showPicker = false"-->
<!-- @confirm="onConfirm"-->
<!-- >-->
<!-- <an-picker>-->
<compicker-->
:enterpriseList="enterpriseList"
@cancel="showPicker = false"
@onConfirm="onConfirm">
</compicker>
<div class="van-picker">
<div class="van-hairline--top-bottom van-picker__toolbar">
<div class="van-picker__cancel" @click="showPicker = false">取消</div>
<div class="van-picker__confirm" @click="onConfirm(enterpriseList[picker_active])">确认</div>
</div>
<div class="van-picker__columns" style="height: 220px">
<div class="van-picker-column"
@scroll="change_picker_scroll"
style="height: 220px;overflow-y: auto;">
<ul class="transition: all 0ms ease 0s; transfORM: translate3D(0px, 88px, 0px)"style="line-height: 44px">
<li :class='{"van-picker-column__item--selected":picker_active==index}'
class="van-ellipsis van-picker-column__item"
style="height: 44px"
@click="change_picker(item,index)"
v-for="(item,index) in enterpriseList" :key="index">
<!-- <img v-if="item.jfzt=='1'" src=""/>-->
<span v-if="item.jfzt=='1'"><img src="src"></span>
{{item.text}}<>
</ul>
</div>
</div>
</div>
<an-popup>
picker_active:1,//因为要弄一个上面有空格的效果,所以初始化从第二个开始
//点击确定事件
onConfirm(value) {
this.enterprise = value;
this.showPicker = false;
},
change_picker(item,index) {
this.picker_active=index;
} ,
//滚动条滚动事件
change_picker_scroll(v){
let scrollTop = v.srcElement.scrollTop;
this.picker_active = Math.ceil(scrollTop/44)+1;//向上取整,并加上第一个空格
},
获取数据那里的方法:
this.enterpriseList = this.enterpriseList.map((item) => {
return {
keyId: item.id,
nsrsbh: item.nsrsbh,
text: item.nsrmc,
jfzt:item.jfzt //是否付费
};
});
//上面加1行空格
this.enterpriseList.unshift({});
到此结束~
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: 使用vant-picker实现自定义内容,根据内容添加图标
本文链接: https://lsjlt.com/news/174362.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0