面板ui/panel
面板可以用于展示一块信息。
基本用法
import { VNode, render } from "ui/control";
import Panel from "ui/panel";
render(
__root__,
<Panel title="标题" collapsable>
内容
</Panel>
);
样式
基本样式
我是面板内容
<section class="x-panel">
<header class="x-panel-header">
我是面板标题
</header>
<div class="x-panel-body">
我是面板内容
</div>
</section>
自定义表头
<section class="x-panel">
<header class="x-panel-header">
<a href="###" class="x-right">工具</a>
<h5>我是面板标题</h5>
</header>
<div class="x-panel-body">
我是面板内容
</div>
<footer class="x-panel-footer">
<a href="###">底部链接</a>
</footer>
</section>
<section class="x-panel">
<header class="x-panel-header">
<a href="###" class="x-button x-button-small x-right">按钮</a>
<h5>顶部</h5>
</header>
<div class="x-panel-body">
内容
</div>
</section>
内联块级
标题
我是面板内容
<section class="x-panel x-inline-block">
<img src="../../../assets/resources/200x200.png" />
<div class="x-panel-body">
<h3>标题</h3>
<p>我是面板内容</p>
</div>
</section>
面板嵌套
面板嵌套
我是面板标题
我是面板内容
我是面板标题
我是面板内容
<section class="x-panel">
<header class="x-panel-header">
<h5>面板嵌套</h5>
</header>
<div class="x-panel-body">
<section class="x-panel">
<header class="x-panel-header">
<h5>我是面板标题</h5>
</header>
<div class="x-panel-body">
我是面板内容
</div>
</section>
<section class="x-panel">
<header class="x-panel-header">
<h5>我是面板标题</h5>
</header>
<div class="x-panel-body">
我是面板内容
</div>
</section>
</div>
</section>
状态
<section class="x-panel x-panel-info">
<header class="x-panel-header">
<a href="###" class="x-right">工具</a>
<h5>顶部</h5>
</header>
<div class="x-panel-body">
内容
</div>
</section>
<section class="x-panel x-panel-success">
<header class="x-panel-header">
<a href="###" class="x-right">工具</a>
<h5>顶部</h5>
</header>
<div class="x-panel-body">
内容
</div>
</section>
<section class="x-panel x-panel-warning">
<header class="x-panel-header">
<a href="###" class="x-right">工具</a>
<h5>顶部</h5>
</header>
<div class="x-panel-body">
内容
</div>
</section>
<section class="x-panel x-panel-error">
<header class="x-panel-header">
<a href="###" class="x-right">工具</a>
<h5>顶部</h5>
</header>
<div class="x-panel-body">
内容
</div>
</section>
并排显示
使用栅格布局实现并排展示。
<div class="x-row x-row-3">
<div class="x-col">
<section class="x-panel x-panel-info">
<header class="x-panel-header">
<a href="###" class="x-right">工具</a>
<h5>顶部</h5>
</header>
<div class="x-panel-body">
内容
</div>
</section>
</div>
<div class="x-col">
<section class="x-panel">
<header class="x-panel-header">
<a href="###" class="x-right">工具</a>
<h5>顶部</h5>
</header>
<div class="x-panel-body">
内容
</div>
</section>
</div>
<div class="x-col">
<section class="x-panel x-panel-error">
<header class="x-panel-header">
<a href="###" class="x-right">工具</a>
<h5>顶部</h5>
</header>
<div class="x-panel-body">
内容
</div>
</section>
</div>
</div>
API
Panel 类
继承自:Control
表示一个面板。
字段 | 类型 | 描述 | 继承自 |
---|---|---|---|
⮞
header
: HTMLElement
头部。 |
HTMLElement
|
头部。 |
— |
⮞
title
: NodeLike
标题。 |
NodeLike
|
标题。 |
— |
⮞
collapsable
: boolean
是否可折叠。 |
boolean
|
是否可折叠。 |
— |
⮞
collapsed
: boolean
是否已折叠。 |
boolean
|
是否已折叠。 |
— |
⮞
onCollapseChange
: (value: boolean, sender: Panel) => boolean | void
即将切换折叠事件。 |
function
|
即将切换折叠事件。 |
— |
⮞
body
: HTMLElement
|
HTMLElement
|
(已覆盖)(只读)获取用于包含子控件和节点的根元素。 |
Control |
⮞
readyState
: ControlState
|
ControlState
|
获取当前控件的渲染状态。 |
Control |
⮞
elem
: HTMLElement
|
HTMLElement
|
关联的元素。 |
Control |
⮞
vNode
: VNode
|
VNode
|
(保护的)获取当前控件关联的虚拟节点。 |
Control |
⮞
sourceVNode
: VNode
|
VNode
|
获取创建该控件使用的源虚拟节点。 |
Control |
⮞
alwaysUpdate
: boolean
|
boolean
|
控件是否使用主动更新模式。 |
Control |
⮞
duration
: number = 200
|
number
|
渐变的持续毫秒数。如果为 0 则不使用渐变。 |
Control |
⮞
class
: string
|
string
|
CSS 类名。 |
Control |
⮞
style
: string | { [key: string]: string | number; }
|
string | object
|
控件样式。 |
Control |
⮞
id
: string
|
string
|
控件序号。 |
Control |
⮞
content
: NodeLike
|
NodeLike
|
控件内容。 |
Control |
⮞
onSelectStart
: (e: Event, sender: Panel) => void
|
function
|
选择开始事件。 |
Control |
⮞
onClick
: (e: MouseEvent, sender: Panel) => void
|
function
|
点击事件。 |
Control |
⮞
onAuxClick
: (e: MouseEvent, sender: Panel) => void
|
function
|
中键点击事件。 |
Control |
⮞
onDblClick
: (e: MouseEvent, sender: Panel) => void
|
function
|
双击事件。 |
Control |
⮞
onContextMenu
: (e: PointerEvent, sender: Panel) => void
|
function
|
右键菜单事件。 |
Control |
⮞
onMouseDown
: (e: MouseEvent, sender: Panel) => void
|
function
|
鼠标按下事件。 |
Control |
⮞
onMouseUp
: (e: MouseEvent, sender: Panel) => void
|
function
|
鼠标按上事件。 |
Control |
⮞
onMouseOver
: (e: MouseEvent, sender: Panel) => void
|
function
|
鼠标移入事件。 |
Control |
⮞
onMouseOut
: (e: MouseEvent, sender: Panel) => void
|
function
|
鼠标移开事件。 |
Control |
⮞
onMouseEnter
: (e: MouseEvent, sender: Panel) => void
|
function
|
鼠标进入事件。 |
Control |
⮞
onMouseLeave
: (e: MouseEvent, sender: Panel) => void
|
function
|
鼠标离开事件。 |
Control |
⮞
onMouseMove
: (e: MouseEvent, sender: Panel) => void
|
function
|
鼠标移动事件。 |
Control |
⮞
onWheel
: (e: WheelEvent, sender: Panel) => void
|
function
|
鼠标滚轮事件。 |
Control |
⮞
onScroll
: (e: UIEvent, sender: Panel) => void
|
function
|
滚动事件。 |
Control |
⮞
onTouchStart
: (e: TouchEvent, sender: Panel) => void
|
function
|
触摸开始事件。 |
Control |
⮞
onTouchMove
: (e: TouchEvent, sender: Panel) => void
|
function
|
触摸移动事件。 |
Control |
⮞
onTouchEnd
: (e: TouchEvent, sender: Panel) => void
|
function
|
触摸结束事件。 |
Control |
⮞
onTouchCancel
: (e: TouchEvent, sender: Panel) => void
|
function
|
触摸撤销事件。 |
Control |
⮞
onPointerEnter
: (e: PointerEvent, sender: Panel) => void
|
function
|
指针进入事件。 |
Control |
⮞
onPointerLeave
: (e: PointerEvent, sender: Panel) => void
|
function
|
指针离开事件。 |
Control |
⮞
onPointerOver
: (e: PointerEvent, sender: Panel) => void
|
function
|
指针移入事件。 |
Control |
⮞
onPointerOut
: (e: PointerEvent, sender: Panel) => void
|
function
|
指针移开事件。 |
Control |
⮞
onPointerDown
: (e: PointerEvent, sender: Panel) => void
|
function
|
指针按下事件。 |
Control |
⮞
onPointerMove
: (e: PointerEvent, sender: Panel) => void
|
function
|
指针移动事件。 |
Control |
⮞
onPointerUp
: (e: PointerEvent, sender: Panel) => void
|
function
|
指针松开事件。 |
Control |
⮞
onPointerCancel
: (e: PointerEvent, sender: Panel) => void
|
function
|
指针取消事件。 |
Control |
⮞
onGotPointerCapture
: (e: PointerEvent, sender: Panel) => void
|
function
|
指针开始捕获事件。 |
Control |
⮞
onLostPointerCapture
: (e: PointerEvent, sender: Panel) => void
|
function
|
指针停止捕获事件。 |
Control |
方法 | 描述 | 继承自 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
⮞
handleHeaderClick()():
(保护的)处理标题点击事件。 返回值类型: |
(保护的)处理标题点击事件。 |
— | ||||||||
⮞
toggleCollapse(...)(value?:
切换面板的折叠状态。
返回值类型: |
切换面板的折叠状态。 |
— | ||||||||
⮞
render()():
|
(保护的)(已覆盖)当被子类重写时负责返回当前控件的虚拟节点。 |
Control |
||||||||
⮞
init()():
|
(保护的)当被子类重写时负责在关联元素后初始化当前控件。 |
Control |
||||||||
⮞
uninit()():
|
(保护的)当被子类重写时负责在元素被取消关联前取消初始化当前控件。 |
Control |
||||||||
⮞
update()():
|
重新渲染当前控件。 |
Control |
||||||||
⮞
layout(changes)(changes:
|
重新布局当前控件。 |
Control |
||||||||
⮞
invalidate()():
|
使当前控件无效并在下一帧重新渲染。 |
Control |
||||||||
⮞
renderTo(parent, ...)(parent:
|
将当前控件渲染到指定的父控件或节点。 |
Control |
||||||||
⮞
find(selector)(selector:
|
在当前控件查找指定的子控件或节点。 |
Control |
||||||||
⮞
query(selector)(selector:
|
在当前控件查找匹配的所有子控件或节点。 |
Control |