iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vant如何实现Collapse折叠面板标题自定义
  • 191
分享到

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

2024-04-02 19:04:59 191人浏览 薄情痞子
摘要

目录vant Collapse折叠面板标题自定义使用vant折叠面板自定义内容Collapse 折叠面板代码演示vant Collapse折叠面板标题自定义 Vue-cli3+van

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

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

本文链接: https://www.lsjlt.com/news/147239.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作