Splitpanes拆分窗格插件使用

news2025/2/25 5:29:47

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

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

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

基本用法
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.coloradmin.cn/o/1585800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ONERugged车载平板电脑厂家丨工业车载电脑优势体现丨3年质保

作为现代社会中必不可少的出行工具&#xff0c;汽车不仅仅是代步工具&#xff0c;更是我们生活中的重要一部分。而在如此多功能的汽车内&#xff0c;一款高可靠性、适应不同行业应用的车载平板电脑成为了当下的热门选择。ONERugged车载平板电脑以其卓越的品质和强大的功能而备受…

FMix: Enhancing Mixed Sample Data Augmentation 论文阅读

1 Abstract 近年来&#xff0c;混合样本数据增强&#xff08;Mixed Sample Data Augmentation&#xff0c;MSDA&#xff09;受到了越来越多的关注&#xff0c;出现了许多成功的变体&#xff0c;例如MixUp和CutMix。通过研究VAE在原始数据和增强数据上学习到的函数之间的互信息…

【力扣】125.验证回文串

刷题&#xff0c;过了真的好有成就感&#xff01;&#xff01;&#xff01; 题解&#xff1a; 根据题目要求&#xff0c;我们需要处理一下几个问题&#xff1a; 将大写字母转变成小写对原来的字符串进行处理&#xff0c;只要字母和数字考虑只有一个和字符串为空的情况 1、将…

Nginx 基础应用实战 06 构建一个PHP的站点

Nginx 基础应用实战 06 构建一个PHP的站点 使用套件 lmnp https://oneinstack.com 安装完成后 搭建bbs https://www.discuz.net/ 搭建博客 https://wordpress.com https://cn.wordpress.org/ CMS系统 http://www.dedecms.com/ 构建Lua站点 Openresty Nginx Lua …

lomobok源码编译学习笔记(1)

lomobok学习笔记&#xff08;1&#xff09; 项目导入 lombok的github地址 GitHub - projectlombok/lombok: Very spicy additions to the Java programming language. 开发工具 idea不知道为啥&#xff0c;装上ant工具也不好用&#xff0c;eclipse默认自带有ant,不需要装。…

0 idea搭建springboot项目

1 2 3 4 5 配置文件 application.yaml server:servlet:context-path: /app #项目名controller //注入到spring容器 Controller public class HelloController {GetMapping("hello")ResponseBodypublic String hello(){return "Hello,SpringBoot";} }启…

多态——C++

这里写目录标题 衔接继承总结继承和组合白箱复用黑箱复用 多态的概念多态的定义以及实现虚函数重写的两个例外协变面试题析构函数的重写 finalvoerride重载隐藏(重定义)重写(覆盖)抽象类什么是抽象类&#xff1f; 实现继承和接口继承多态的原理虚函数表 那多态的调用是怎么实现…

我为什么选择当程序员

在当今这个数字化时代&#xff0c;程序员已经成为了一个非常受欢迎的职业选择。无论是出于对技术的热爱&#xff0c;还是因为看到了这个行业的广阔前景&#xff0c;越来越多的人选择加入程序员的行列&#xff0c;尤其是最近几年AI带动整体行业的发展。本文将深入探讨人们选择成…

giteegit的连结使用

目标&#xff1a;在windows的本地的git上操作的项目存放到Gitee云端上 不适用于linux的terminal终端下 1.先下载好Git这个软件 2.创建一个文件夹&#xff08;项目名称&#xff09; 然后用gitbash的形式打开 3.创建ssh密钥到Gitee上 因为我们在Git与Gitee上的传输是通过ssh…

用友NC open SQL注入漏洞复现(XVE-2023-29119)

0x01 产品简介 用友NC是由用友公司开发的一套面向大型企业和集团型企业的管理软件产品系列。这一系列产品基于全球最新的互联网技术、云计算技术和移动应用技术,旨在帮助企业创新管理模式、引领商业变革。 0x02 漏洞概述 用友NC /portal/pt/PaWfm/open接口的proDefPK参数存…

蓝桥杯物联网竞赛_STM32L071KBU6_全部工程及国赛省赛真题及代码

包含stm32L071kbu6全部实验工程、源码、原理图、官方提供参考代码及国、省赛真题及代码 链接&#xff1a;https://pan.baidu.com/s/1pXnsMHE0t4RLCeluFhFpAg?pwdq497 提取码&#xff1a;q497

基于Web的毕业生离校离校管理系统的设计与实现(源码+配套文档)

基于Web的毕业生离校离校管理系统的设计与实现&#xff08;源码配套文档&#xff09; 摘要 越来越多信息化融入到我们生活当中的同时&#xff0c;也在改变着我们的生活和学习方式&#xff0c;当然&#xff0c;变化最明显的除了我们普通民众之外&#xff0c;要数高校学生的生活…

【热门话题】OneFlow深度学习框架介绍

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 OneFlow深度学习框架介绍引言一、OneFlow概述1.1 定位与起源1.2 核心特性数据流…

大屏可视化展示平台解决方案(word原件获取)

1.系统概述 1.1.需求分析 1.2.重难点分析 1.3.重难点解决措施 2.系统架构设计 2.1.系统架构图 2.2.关键技术 2.3.接口及要求 3.系统功能设计 3.1.功能清单列表 3.2.数据源管理 3.3.数据集管理 3.4.视图管理 3.5.仪表盘管理 3.6.移动端设计 3.1.系统权限设计 3.2.数据查询过程设…

ios苹果ipa文件app内测分发有哪些操作流程

哈喽&#xff0c;大家好&#xff0c;咕噜淼淼又来和大家见面啦&#xff0c;在iOS应用开发过程中&#xff0c;进行内测分发是非常重要的一环&#xff0c;它能帮助开发者发现并修复应用中的问题&#xff0c;提升用户体验。上两期咱们一起探讨了一下App内测分发的目的及优势&#…

Linux云计算之Linux基础3——Linux系统基础part-2

1、终端、shell、文件理论 1、终端 终端(terminal)&#xff1a;人和系统交互的必要设备&#xff0c;人机交互最后一个界面&#xff08;包含独立的输入输出设备&#xff09; 物理终端(console)&#xff1a;直接接入本机器的键盘设备和显示器虚拟终端(tty)&#xff1a;通过软件…

20231125 1+X 中级实操考试(id:3777)

//补充完成该类的含参构造方法public Info(String name, int age, String sex, String phone) {this.name name;this.age age;this.sex sex;this.phone phone;} // 请修改该方法&#xff0c;以保证打印对象时输出格式如下&#xff1a;// [namezs;age20;sex男;phone18812349…

错误日志:解决在VScode中调试C++代码断点无效、断点错位的问题

问题可能原因有&#xff1a; 调试时断点无效&#xff0c;大概率是 CMakeLists.txt 设置成了 Release 模式&#xff1b;如果在 CMakeLists.txt 在设置成 Debug 以后&#xff0c;调试时能够停下来&#xff0c;但没在断点处停下&#xff0c;而是停在了别的地方&#xff0c;这就是…

实现iframe里面的页面全屏

首先在父页面引入iframe 监听iframe的方法回调 实现iframe全屏的方法 在iframe页面中&#xff0c;点击全屏后&#xff0c;执行回调函数 就能实现iframe中页面全屏了

你知道 Java 线程池的原理吗?

Java线程池是用于管理和复用线程的机制&#xff0c;它可以帮助开发者有效地管理线程的生命周期和资源&#xff0c;并提高应用程序的性能和稳定性。 1. 线程池概述 在计算机科学中&#xff0c;线程池是一种可用来执行异步任务的线程队列。它主要包含以下几个组成部分&#xff…