vant如何实现Collapse折叠面板标题自定义

 更新时间:2022年04月25日 11:01:09   作者:Zxiuping  
这篇文章主要介绍了vant如何实现Collapse折叠面板标题自定义,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vant 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"}
        ]
    }   
]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue-Access-Control 前端用户权限控制解决方案

    Vue-Access-Control 前端用户权限控制解决方案

    Vue-Access-Control是一套基于Vue/Vue-Router/axios 实现的前端用户权限控制解决方案。这篇文章主要介绍了Vue-Access-Control:前端用户权限控制解决方案,需要的朋友可以参考下
    2017-12-12
  • vue监听滚动事件的方法

    vue监听滚动事件的方法

    这篇文章主要介绍了vue监听滚动事件的方法,帮助大家更好的理解和使用vue,感兴趣的朋友可以了解下
    2020-12-12
  • 详解element-ui动态限定的日期范围选择器代码片段

    详解element-ui动态限定的日期范围选择器代码片段

    这篇文章主要介绍了element-ui动态限定的日期范围选择器代码片段,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • vue封装全局弹窗警告组件this.$message.success问题

    vue封装全局弹窗警告组件this.$message.success问题

    这篇文章主要介绍了vue封装全局弹窗警告组件this.$message.success问题,具有很的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 如何修改Vue项目运行的IP和端口

    如何修改Vue项目运行的IP和端口

    这篇文章主要介绍了修改Vue项目运行的IP和端口的方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • vue3 emit is not a function问题及解决

    vue3 emit is not a function问题及解决

    这篇文章主要介绍了vue3 emit is not a function问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • Vue通过配置WebSocket并实现群聊功能

    Vue通过配置WebSocket并实现群聊功能

    本篇文章将与各位开发者分享下 vue-native-websocket 库的使用以及配置,通过实例代码给大家分享Vue通过配置WebSocket并实现群聊功能,需要的朋友可以参考下
    2019-12-12
  • Vue.extend实现挂载到实例上的方法

    Vue.extend实现挂载到实例上的方法

    这篇文章主要介绍了Vue.extend实现挂载到实例上的方法,结合实例形式分析了Vue.extend实现挂载到实例上的具体操作步骤与相关实现技巧,需要的朋友可以参考下
    2019-05-05
  • Vue 页面跳转不用router-link的实现代码

    Vue 页面跳转不用router-link的实现代码

    这篇文章主要介绍了 Vue 页面跳转不用router-link的实现代码,文中给大家介绍了vue router-link跳转传值示例,需要的朋友可以参考下
    2018-04-04
  • Vue enter回车导致页面刷新问题及解决

    Vue enter回车导致页面刷新问题及解决

    这篇文章主要介绍了Vue enter回车导致页面刷新问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10

最新评论