Splitpanes拆分窗格插件使用

目录

基本用法

纵向排列

遍历渲染

动态拆分宽度


项目开发中用到了拆分窗格(就是下面的效果,可以拆分网页,我们项目通常都是用左右两块拆分,可以通过拖动图标进行左右拖动),于是就发现了一个很好用的插件:Splitpanes

官网地址:Splitpanes (antoniandre.github.io)

适用于Vue2,Vue3。安装对应的版本即可

npm i splitpanes      # Vue3

npm i splitpanes@legacy     # Vue2

基本用法

  • size指定初始化宽度(页面一进来显示的宽度),总和不要超过100%,值是百分比。可以不指定,默认会平分总宽度
  • minsize指定最小宽度,取值也是百分比
  • 记得一定加default-theme的类名,不然拖动图标会很小
  • 要给一个初始高度
<template><div style="width: 100%;height: 100%;"><splitpanes class="default-theme" style="height: 100%"><pane min-size="20" size="30">左</pane><pane min-size="20" size="70">右</pane></splitpanes></div>
</template><script setup lang='ts'>
import { Splitpanes, Pane } from 'splitpanes'
import 'splitpanes/dist/splitpanes.css'
</script><style scoped>
.splitpanes__pane {display: flex;justify-content: center;align-items: center;background-color: skyblue;
}
</style>

如果感觉组件引入比较麻烦,可以直接进行全局注册。就不用逐个引入了

main.ts

import { createApp } from 'vue'
import { createPinia } from 'pinia'import App from './App.vue'
import router from './router'
// 可以把组件进行全局注册并引入样式
import { Splitpanes, Pane } from 'splitpanes'
import 'splitpanes/dist/splitpanes.css'const app = createApp(App)app.component('Splitpanes', Splitpanes)
app.component('Pane', Pane)app.use(createPinia())
app.use(router)app.mount('#app')

纵向排列

  • 只需要传入horizontal属性即可
<template><div style="width: 100%;height: 100%;"><splitpanes horizontal class="default-theme" style="height: 100%"><pane min-size="20" size="30">左</pane><pane min-size="20" size="70">右</pane></splitpanes></div>
</template><style scoped>
.splitpanes__pane {display: flex;justify-content: center;align-items: center;background-color: skyblue;
}
</style>

遍历渲染

  • 直接v-for遍历循环即可
<template><div style="width: 100%;height: 100%;"><splitpanes class="default-theme" style="height: 100%"><pane v-for="i in 8" :key="i" min-size="5"><span>{{ i }}</span></pane></splitpanes></div>
</template><style scoped>
.splitpanes__pane {display: flex;justify-content: center;align-items: center;background-color: skyblue;
}
</style>

动态拆分宽度

<template><div style="width: 100%;height: 100%;"><button @click="panesNumber++">Add pane</button><button @click="panesNumber--">Remove pane</button><splitpanes class="default-theme" style="height: 400px"><pane v-for="i in panesNumber" :key="i"><span>{{ i }}</span></pane></splitpanes></div>
</template><script lang="ts" setup>
import { ref } from 'vue';const panesNumber = ref(3);
</script><style scoped>
.splitpanes__pane {display: flex;justify-content: center;align-items: center;background-color: skyblue;
}
</style>

更多效果可以查看文档,只列举了一些常用的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/535062.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年AI辅助研发:科技创新的引擎

CSND - 个人主页&#xff1a;17_Kevin-CSDN博客 收录专栏&#xff1a;《人工智能》 技术进展 进入2024年&#xff0c;人工智能&#xff08;AI&#xff09;在科技界和工业界的焦点地位更加巩固&#xff0c;其在辅助研发领域的技术进步尤为显著。深度学习技术的突飞猛进使得数据分…

1.Python是什么?——《跟老吕学Python编程》

1.Python是什么&#xff1f;——《跟老吕学Python编程》 Python是一种什么样的语言&#xff1f;Python的优点Python的缺点 Python发展历史Python的起源Python版本发展史 Python的价值学Python可以做什么职业&#xff1f;Python可以做什么应用&#xff1f; Python是一种什么样的…

图片格式转换怎么操作?这一个方法快快收藏

图片格式转换能够改变图片的质量、大小兼容性。不同的图片格式用途也不同&#xff0c;当我们需要转换图片格式的时候要怎么操作呢&#xff1f;下面&#xff0c;小编给大家分享一款操作简单&#xff0c;小白也能轻松上手的图片转换器&#xff08;https://www.yasuotu.com/geshi&…

“光谱视界革新:ChatGPT在成像光谱遥感中的智能革命“

遥感技术主要通过卫星和飞机从远处观察和测量我们的环境&#xff0c;是理解和监测地球物理、化学和生物系统的基石。ChatGPT是由OpenAI开发的最先进的语言模型&#xff0c;在理解和生成人类语言方面表现出了非凡的能力。本文重点介绍ChatGPT在遥感中的应用&#xff0c;人工智能…

【SpringBoot】整合Druid数据源和Mybatis 项目打包和运行

文章目录 一、整合Druid数据源二、整合Mybatis2.1 MyBatis整合步骤2.1 Mybatis整合实践2.1 声明式事务整合配置2.1 AOP整合配置 三、项目打包和运行命令启动和参数说明 总结web 与 springboot 打包区别JDK8的编译环境 执行17高版本jar 一、整合Druid数据源 创建模块 &#xff1…

BEVFormer代码运行笔记

1. 代码下载 git clone https://github.com/fundamentalvision/BEVFormer.git 2. 环境配置 使用conda创建环境 conda create -n open-mmlab python3.8 -y 进入环境 conda activate open-mmlab 允许使用pip安装依赖库 export PIP_REQUIRE_VIRTUALENVfalse 安装pytorch和…

FPGA - 单总线协议(one-wire)

1&#xff0c;简介 单总线&#xff08;one-wire&#xff09;是美国 DALLAS 公司推出的外围串行扩展总线技术&#xff0c;与 SPI、I2C 等串行数据通信方式不同&#xff0c;它采用单根信号线&#xff0c;既传输时钟又传输数据&#xff0c;而且数据传输是双向的。它具有节省 I/O口…

如何使用ChatGPT辅助写论文、数据分析、AI绘图?【附学习资料】

原文链接&#xff1a;如何使用ChatGPT辅助写论文、数据分析、AI绘图&#xff1f;【附学习资料】https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247597452&idx1&sn8aa991235ffee89fc76590a90b9005d7&chksmfa823c6bcdf5b57df0cb02ecd1821921f38ea6de34c7…

案例--某站视频爬取

众所周知&#xff0c;某站的视频是&#xff1a; 由视频和音频分开的。 所以我们进行获取&#xff0c;需要分别获得它的音频和视频数据&#xff0c;然后进行音视频合并。 这么多年了&#xff0c;某站还是老样子&#xff0c;只要加个防盗链就能绕过。&#xff08;防止403&#xf…

python调用clickhouse

&#xff08;作者&#xff1a;陈玓玏&#xff09; 使用clickhouse-driver包&#xff0c;先通过pip install clickhouse-driver安装包&#xff0c;再通过以下代码执行sql。 from clickhouse_driver import Client client Client(host10.43.234.214, port9000, userclickhou…

Pygame教程06:Event事件的类型+处理方法+监听鼠标事件

------------★Pygame系列教程★------------ Pygame教程01&#xff1a;初识pygame游戏模块 Pygame教程02&#xff1a;图片的加载缩放旋转显示操作 Pygame教程03&#xff1a;文本显示字体加载transform方法 Pygame教程04&#xff1a;draw方法绘制矩形、多边形、圆、椭圆、弧…

jenkins + gitea 自动化部署Docker项目(vue + .NET Core)

废话不多说&#xff0c;服务先安装好Jenkins 和 gitea 理论上 gitlab 一样的实现流程 Jenkins 配置&#xff1a; 第一步装插件 安装 Generic Event 安装 gitea 相关插件 创建一个任务 设置 git 根据自己git 的认证填写对应的认证方式 构建环境记得勾选这个&#xff0c;会清…