Vant UI 中 van-collapse 下拉折叠面板如何默认展开第一项

简介: Vant UI 中 van-collapse 下拉折叠面板如何默认展开第一项

问题重现

       最近在做项目时,有一个需求是让 van-collapse 下拉折叠面板的第一项默认是展开状态;我使用到了 Vant UI 组件,首先按照官网文档的写法直接引入:


<!--下拉折叠面板-->
  <van-collapse class="collapse" v-model="activeNames" is-link="false">
    <van-collapse-item title="" :name="index">
      <!--展开后显示的内容-->
      <span class="coll_show">制定拜访计划</span>
      <span class="coll_show">保险保障分析</span>
      <span class="coll_show">制作计划书</span>
      <span class="coll_show">会客厅讲解</span>
      <span class="coll_show">
        <van-cell @click="showEdit">修改备注</van-cell>
        <van-popup v-model="showRemark">
          <p>修改备注</p>
          <form action="/">
            <input class="text" placeholder="最多输入50个字" type="text">
            <input class="btn1" type="button" value="取消">
            <input class="btn2" type="submit" value="提交">
          </form>
        </van-popup>
      </span>
    </van-collapse-item>
  </van-collapse>
export default {
  data() {
    return {
      activeNames: ['1'],
    };
  },
};

默认每一项都是不展开的:

image.png


需求实现

先看官方文档 Collapse Props:

image.png

       通过官方文档我们可以知道,van-collapse 的 v-model 属性所绑定的是当前展开面板 van-collapse-item 的 name 值,我的下拉面板父级为遍历产生,所以 name 值采用了动态的下标的依次为数字 0、1、2、3.....


而是否开启手风琴模式则决定了 v-model 属性值的类型。


非手风琴模式下:v-model 为数组类型,那么此时我们想让第一项也就是 name 值为 0 的折叠项默认展开,在 data 中传入 activeNames 时就应该将其设置数组格式且 默认值为 0,但注意是 [0] 而不是 ["0"]:


export default {
  data() {
    return {
      activeNames: [0],
    };
  },
};

此时第一项默认展开:

image.png

手风琴模式下:v-model 属性值类型为数字或字符串,那么我们将 data 中的 activeNames 改为数字或字符串即可;

image.png

export default {
  data() {
    return {
      activeNames: 0,
    };
  },
};

效果可以实现;

image.png

相关文章
|
10月前
|
JSON 小程序 JavaScript
微信小程序引入Vant UI
微信小程序引入Vant UI
|
11月前
|
JavaScript
Element UI - el-select(选择器)下拉多选菜单不换行显示
Element UI - el-select(选择器)下拉多选菜单不换行显示
|
11月前
|
资源调度 JavaScript
Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(登录注册页面,验证码)
Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(登录注册页面,验证码)
412 0
|
11月前
|
资源调度 JavaScript 前端开发
Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(搭建开发环境)
Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(搭建开发环境)
166 0
|
11月前
|
编解码 JavaScript 前端开发
Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(项目演示、涉及知识点、源码分享)
Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(项目演示、涉及知识点、源码分享)
207 0
|
开发框架 API C++
ESP32 + HaaS Python UI Lite 组件 打造倒计时面板
ESP32 + HaaS Python UI Lite 组件 打造倒计时面板
132 0
|
JavaScript
vue uniapp通用省市下拉选择器组件 布局样式可灵活根据ui变更 (区域 可根据数组嵌套的格式继续往下模仿即可)
vue uniapp通用省市下拉选择器组件 布局样式可灵活根据ui变更 (区域 可根据数组嵌套的格式继续往下模仿即可)
542 0
vue uniapp通用省市下拉选择器组件 布局样式可灵活根据ui变更 (区域 可根据数组嵌套的格式继续往下模仿即可)
|
JSON 小程序 前端开发
uni-app入门:小程序UI组件Vant Weapp
Vant Weapp 是一个轻量、可靠的移动端组件库,于 2017 年开源,是由有赞前端团队开源的小程序UI组件库,可以简化小程序开发。
uni-app入门:小程序UI组件Vant Weapp
|
前端开发
【解决方法】element-ui 中输入框input与下拉选择框没有在一条水平线上
【解决方法】element-ui 中输入框input与下拉选择框没有在一条水平线上
573 0
【解决方法】element-ui 中输入框input与下拉选择框没有在一条水平线上
|
JavaScript

热门文章

最新文章