前端开发中,经常需要对页面进行布局与分割。而 inferno-split-pane 就是一款能够帮助我们更方便地实现页面分割布局的 npm 包。本文将会带您了解它的基本使用方法,以及如何在项目中实践它。
inferno-split-pane 是什么?
inferno-split-pane 是一个基于 Inferno 的轻量级 split-pane 库。其核心特性包括:
- 可以垂直或水平分割区域;
- 可以设置最小和最大分割大小;
- 可以由用户拖动分隔条调整分割大小;
- 可以与 React、Inferno 等前端框架无缝集成。
安装 & 引用 inferno-split-pane
inferno-split-pane 可以通过 npm 进行安装,使用以下命令进行安装:
--- ------- ------ ------------------
然后,在代码中引入 divide.js 文件即可:
------ ------ ---- --------------------
inferno-split-pane 配置 & 使用
常规使用方法如下:
------ ------ ----------- ---- -------- ------ ------ ---- --------------------- ----- --------- ------- --------- - -------- - ------ - ------- ---------------- --------- ------------------ ----- ------- -------- ------ ----- -------- -------- ------ --------- -- - -
以上代码实现的效果是:一个垂直分割区域,左侧宽度为 200px,右侧最小宽度为 100px,内部包含两个 div
元素,左边的 div
元素中展示 left pane
,右边的 div
元素中展示 right pane
。
将 split="vertical"
改为 split="horizontal"
,我们可以得到一个水平分割的布局。
inferno-split-pane 可用的属性
在 inferno-split-pane 中,有很多可用的属性可以帮助您实现更加丰富多彩的交互布局。下面是常见的属性列表:
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
split |
手动调整尺寸的分割方向;可设置为 vertical 或 horizontal 。 |
String | 'vertical' |
min |
左 / 上 区域最小宽度 / 高度。 | String, Number, Nullable | '0' |
max |
左 / 上 区域最大宽度 / 高度。 | String, Number, Nullable | '0' |
defaultSize |
左 / 上 区域的默认大小,单位为像素;如果设置为 auto ,则计算出来的实际大小不得小于 min 值。 |
String, Number, Nullable | null |
allowResize |
表示是否允许用户调整大小。 | Bool | true |
style |
用于传递定制样式。 | Object | {} |
onChange |
调整左 / 上 区域大小时触发的回调函数。 | Function | null |
其中,主要的参数都有解释,并且可以进行定制,这让我们能够接边更多的功能。
inferno-split-pane 的实践:水平与垂直布局
现在我们来学习如何在实践中使用 inferno-split-pane,尤其是如何实现水平分割布局和垂直分割布局。
实践分析
我们将使用两个实际案例演示如何使用 inferno-split-pane 实现垂直布局。
实践案例一:
实践案例二:
很清楚看到,实践案例一中,有两个水平区域,中间有一条分割线,通过拖拽分割线可以改变两个区域的大小。
实践案例二,是一个垂直布局,左侧是读取与查询数据的区域,右侧是展示数据的区域。
水平布局实践
优秀的代码不应该是在 创建一个新布局,而是在修改一个已经存在的布局来适应实际的需要。我们先可以尝试修改官方默认案例来实践。
------ ------ ----------- ---- -------- ------ ------ ---- --------------------- ----- --------------- ------- --------- - ------------------ - ------------- ---------- - - ------------ ----- -- --------------------- - --------------------------------- - ---------------------- - --------------- ------------ ---- --- - -------- - ------ - ---- ---------------------------- -------------- ----- --------- ------ ------------ ------------------------------ -------------- -- --------------------------------------- -- ------- ------------------ ------------------------------------- ---- -------------------------------- ---------- ---- -------------------------------- ---- ---------- --------- ------ -- - -
在这个例子中,我们修改了默认尺寸并添加了一个调整器。拖拽调整器的时候,区域的大小会跟随实现变化:
---------------- - -- - ---------- ------- ----------- ----- - ---------------- - -------- ------------- --------------- ---- ------ ---- -------- ----- ----------- ----------- - ---------------- - -------- ----- ------- --- ----- -------- ----------- -------- -
以上为该例子使用到的 CSS 样式。
垂直布局实践
接下来,我们看看如何实现垂直布局:
------ ------- ---- ---------- ------ ------ ---- --------------------- ------ --------------------------- ----- ------------- ------- ----------------- - ---------------------- - --------------- ------------ ---- --- - -------- - ------ - ---- -------------------------- ------- ---------------- ---------- ---- -------------------------- ------------ ----- --------- ------ ------------ ------------------------------ -------------- -- --------------------------------------- -- ------ ---- -------------------------- --------- ---------- --------- -- --------------------------- ----------- ------------ --------- --- -- ----- ----- --------- ------- ------ ---------- ------- ----- ------- ----- -------------- ---- -- ------- ----- -- ----- ----- --- --------- --- ------ ------ ----------- ---------- ------ --------- ------ -- - - ------ ------- --------------
实践上,我们编写了如上代码。这有两个垂直区域。左半部分有一个标题,一个调整栏,右半部分则有一个标题以及一个由文字组成的组件。
在此过程中,我们借助了一些预先定义好的 CSS 样式
------- ------------------------------------------------------------------ -------------- - ----------- ----------- -------- ----- ---------- ----- ------------ ---- - -------------- - ----------------- -------- ------ ------ ----------- ------- ----------- ----------- -------- ----- ---------- ----- ------------ ---- ------------ ------------- ----------- -
怎么样,是不是使用起来非常的方便呢?
总结
inferno-split-pane 是一款非常实用和轻量级的前端开发库,它可以帮助我们在项目开发中更加方便地实现分割布局,提高开发效率。通过本篇文章的介绍,相信大家也学到了 inferno-split-pane 的基本使用方法和在项目实践中的应用。尽管 inferno-split-pane 号称轻量级库,我们还是可以得到非常丰富的功能。希望您在后续的项目开发中可以充分应用它,让我们可以更好地实现应用目标!
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005584681e8991b448d57cd