vant Collapse折叠面板标题自定义
Zxiuping 人气:0vant Collapse折叠面板标题自定义
vue-cli3+vant实现折叠面板上面标题自定义
代码如下:
<van-collapse v-model="activeNames"> <van-collapse-item name="1"> <template slot="title"> //以下内容根据需求填充 <div class="title-box"> <div class="title-box-top"> <div> 粤A2323 </div> <div>¥23.32</div> </div> <div class="number">53454325432</div> </div> </template> </van-collapse-item> </van-collapse>
使用vant折叠面板自定义内容
效果图:
Collapse 折叠面板
介绍
将一组内容放置在多个折叠面板中,点击面板的标题可以展开或收缩其内容。
引入
import Vue from 'vue'; import { Collapse, CollapseItem } from 'vant'; Vue.use(Collapse); Vue.use(CollapseItem);
代码演示
基础用法
通过 v-model 控制展开的面板列表,activeNames 为数组格式。
<van-collapse v-model="activeNames"> <van-collapse-item title="标题1" name="1">内容</van-collapse-item> <van-collapse-item title="标题2" name="2">内容</van-collapse-item> <van-collapse-item title="标题3" name="3">内容</van-collapse-item> </van-collapse>
export default { data() { return { activeNames: ['1'], }; }, };
在基础用法的基础上,因为页面太长,因此需要使用手风琴模式。
手风琴
通过 accordion 可以设置为手风琴模式,最多展开一个面板,此时 activeName 为字符串格式。
<van-collapse v-model="activeName" accordion> <van-collapse-item title="标题1" name="1">内容</van-collapse-item> <van-collapse-item title="标题2" name="2">内容</van-collapse-item> <van-collapse-item title="标题3" name="3">内容</van-collapse-item> </van-collapse>
export default { data() { return { activeName: '1', }; }, };
基于以上官方文档介绍,下面实现自己的代码逻辑。
页面渲染:
<van-collapse v-model="activeNames" accordion> <van-collapse-item :title="item.type" :name="item.type" v-for=" (item,index) in typelist" :key="index"> <van-form v-for="(ele,i) in item.data" :key="i"> <van-row gutter="20"> <van-col span="2"> <van-field :name="i+1+''" :label="i+1" /> </van-col> <van-col span="16"> <van-field v-model="ele.name" label-width="16em" :name="ele.name" :label="ele.name" /> </van-col> <van-col span="6"> <van-field v-model="ele.unit" :name="ele.unit" :label="'单位:'+ele.unit" /> </van-col> <van-field type="digit" v-model="ele.xiaohao" name="消耗数量" label="消耗数量" /> <van-field type="digit" v-model="ele.kucun" name="库存数量" label="库存数量" /> <van-field type="digit" v-model="ele.waigou" name="外部购" label="外部购(新增数量)" /> <van-field type="digit" v-model="ele.shangdiao" name="上面调" label="上面调(新增数量)" /> <van-field type="digit" v-model="ele.juan" name="各方捐" label="各方捐(新增数量)" /> <van-field type="textarea" v-model="ele.beizhu" name="备注" label="备注" /> </van-row> </van-form> </van-collapse-item> </van-collapse>
数据准备:
typelist:[ { type:"医疗设备", data:[ {name: "手持式红外线测温仪",name_id: "21",type: "医疗设备",type_id: "104"}, {name: "手持式红外线测温仪",name_id: "21",type: "医疗设备",type_id: "104"}, {name: "手持式红外线测温仪",name_id: "21",type: "医疗设备",type_id: "104"}, {name: "手持式红外线测温仪",name_id: "21",type: "医疗设备",type_id: "104"} ] }, { type:"医疗设备1", data:[ {name: "手持式红外线测温仪",name_id: "21",type: "医疗设备1",type_id: "105"}, {name: "手持式红外线测温仪",name_id: "21",type: "医疗设备1",type_id: "105"} ] } ]
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容