按钮ui/button
经典按钮效果。
基本用法
import { VNode, render } from "ui/control";
import Button from "ui/button";
render(
__root__,
<Button onClick={console.log}>按钮</Button>
);
样式
基本样式
按钮:
a
按钮:
<a href="###" class="x-button">a</a>
<input type="button" class="x-button" value="input" />
<button type="button" class="x-button">button</button>
<span class="x-button">span</span>
状态
<button class="x-button">默认</button>
<button class="x-button x-button-primary">主色调</button>
<button class="x-button x-transparent">透明</button>
<button class="x-button x-button-info">信息</button>
<button class="x-button x-button-success">成功</button>
<button class="x-button x-button-warning">警告</button>
<button class="x-button x-button-error">错误</button>
<button class="x-button" disabled="disabled">禁用</button>
<button class="x-button x-button-active">按下</button>
尺寸
大小:
大小:
<button class="x-button x-button-small">小</button>
<button class="x-button">中</button>
<button class="x-button x-button-large">大</button>
使用场景
图标
<button class="x-button"><i class="x-icon">★</i> 固定</button>
<button class="x-button"><i class="x-icon">★</i></button>
<button class="x-button x-button-small"><i class="x-icon">★</i> 固定</button>
<button class="x-button x-button-small"><i class="x-icon">★</i></button>
占满一行
使用工具样式的.x-block
实现占满一行。
<button class="x-button x-button-primary x-blank x-block"><i class="x-icon">🤵</i> 登录</button>
<button class="x-button x-block"><i class="x-icon">✍</i> 注册</button>
多行文本
<a href="###" class="x-button"><i class="x-icon">↧</i><br />立即下载</a>
组合文本框
<input type="text" class="x-textbox" value="输入">
<input type="button" class="x-button" value="按钮">
另参考
- [[ui/menuButton]]
- [[ui/splitButton]]
- [[typo/buttonGroup]]
- 组合框
API
Button 类
继承自:Control
表示一个按钮。
字段 | 类型 | 描述 | 继承自 |
---|---|---|---|
⮞
type
: "button" | "submit" | "reset"
类型。 |
string
|
类型。 |
— |
⮞
disabled
: boolean
是否禁用。 |
boolean
|
是否禁用。 |
— |
⮞
active
: boolean
按下状态。 |
boolean
|
按下状态。 |
— |
⮞
readyState
: ControlState
|
ControlState
|
获取当前控件的渲染状态。 |
Control |
⮞
elem
: HTMLElement
|
HTMLElement
|
关联的元素。 |
Control |
⮞
vNode
: VNode
|
VNode
|
(保护的)获取当前控件关联的虚拟节点。 |
Control |
⮞
sourceVNode
: VNode
|
VNode
|
获取创建该控件使用的源虚拟节点。 |
Control |
⮞
alwaysUpdate
: boolean
|
boolean
|
控件是否使用主动更新模式。 |
Control |
⮞
body
: HTMLElement
|
HTMLElement
|
(只读)获取用于包含子控件和节点的根元素。 |
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: Button) => void
|
function
|
选择开始事件。 |
Control |
⮞
onClick
: (e: MouseEvent, sender: Button) => void
|
function
|
点击事件。 |
Control |
⮞
onAuxClick
: (e: MouseEvent, sender: Button) => void
|
function
|
中键点击事件。 |
Control |
⮞
onDblClick
: (e: MouseEvent, sender: Button) => void
|
function
|
双击事件。 |
Control |
⮞
onContextMenu
: (e: PointerEvent, sender: Button) => void
|
function
|
右键菜单事件。 |
Control |
⮞
onMouseDown
: (e: MouseEvent, sender: Button) => void
|
function
|
鼠标按下事件。 |
Control |
⮞
onMouseUp
: (e: MouseEvent, sender: Button) => void
|
function
|
鼠标按上事件。 |
Control |
⮞
onMouseOver
: (e: MouseEvent, sender: Button) => void
|
function
|
鼠标移入事件。 |
Control |
⮞
onMouseOut
: (e: MouseEvent, sender: Button) => void
|
function
|
鼠标移开事件。 |
Control |
⮞
onMouseEnter
: (e: MouseEvent, sender: Button) => void
|
function
|
鼠标进入事件。 |
Control |
⮞
onMouseLeave
: (e: MouseEvent, sender: Button) => void
|
function
|
鼠标离开事件。 |
Control |
⮞
onMouseMove
: (e: MouseEvent, sender: Button) => void
|
function
|
鼠标移动事件。 |
Control |
⮞
onWheel
: (e: WheelEvent, sender: Button) => void
|
function
|
鼠标滚轮事件。 |
Control |
⮞
onScroll
: (e: UIEvent, sender: Button) => void
|
function
|
滚动事件。 |
Control |
⮞
onTouchStart
: (e: TouchEvent, sender: Button) => void
|
function
|
触摸开始事件。 |
Control |
⮞
onTouchMove
: (e: TouchEvent, sender: Button) => void
|
function
|
触摸移动事件。 |
Control |
⮞
onTouchEnd
: (e: TouchEvent, sender: Button) => void
|
function
|
触摸结束事件。 |
Control |
⮞
onTouchCancel
: (e: TouchEvent, sender: Button) => void
|
function
|
触摸撤销事件。 |
Control |
⮞
onPointerEnter
: (e: PointerEvent, sender: Button) => void
|
function
|
指针进入事件。 |
Control |
⮞
onPointerLeave
: (e: PointerEvent, sender: Button) => void
|
function
|
指针离开事件。 |
Control |
⮞
onPointerOver
: (e: PointerEvent, sender: Button) => void
|
function
|
指针移入事件。 |
Control |
⮞
onPointerOut
: (e: PointerEvent, sender: Button) => void
|
function
|
指针移开事件。 |
Control |
⮞
onPointerDown
: (e: PointerEvent, sender: Button) => void
|
function
|
指针按下事件。 |
Control |
⮞
onPointerMove
: (e: PointerEvent, sender: Button) => void
|
function
|
指针移动事件。 |
Control |
⮞
onPointerUp
: (e: PointerEvent, sender: Button) => void
|
function
|
指针松开事件。 |
Control |
⮞
onPointerCancel
: (e: PointerEvent, sender: Button) => void
|
function
|
指针取消事件。 |
Control |
⮞
onGotPointerCapture
: (e: PointerEvent, sender: Button) => void
|
function
|
指针开始捕获事件。 |
Control |
⮞
onLostPointerCapture
: (e: PointerEvent, sender: Button) => void
|
function
|
指针停止捕获事件。 |
Control |
方法 | 描述 | 继承自 |
---|---|---|
⮞
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 |