Teal TealUI

分页ui/pagination

页码组件。

基本用法
样式
基本样式
浮动
尺寸
翻页按钮
API
Pagination 类

基本用法

import { VNode, render } from "ui/control";
import Pagination from "ui/pagination";

render(
    __root__,
    <Pagination total={100} />
);

样式

基本样式

<nav class="x-pagination">
    <a class="x-pagination-disabled" href="###"><span class="x-icon">«</span></a>
    <a class="x-pagination-active" href="###">1</a>
    <a href="###">2</a>
    ...
    <a href="###">99</a>
    <a href="###">100</a>
    <a href="###"><span class="x-icon">»</span></a>
</nav>

浮动

<nav class="x-pagination x-left">
    <a class="x-pagination-disabled" href="###"><span class="x-icon">«</span></a>
    <a class="x-pagination-active" href="###">1</a>
    <a href="###">2</a>
    ...
    <a href="###">99</a>
    <a href="###">100</a>
    <a href="###"><span class="x-icon">»</span></a>
</nav>
<nav class="x-pagination x-right">
    <a class="x-pagination-disabled" href="###"><span class="x-icon">«</span></a>
    <a class="x-pagination-active" href="###">1</a>
    <a href="###">2</a>
    ...
    <a href="###">99</a>
    <a href="###">100</a>
    <a href="###"><span class="x-icon">»</span></a>
</nav>

尺寸

<nav class="x-pagination x-pagination-small">
    <a class="x-pagination-disabled" href="###"><span class="x-icon">«</span></a>
    <a class="x-pagination-active" href="###">1</a>
    <a href="###">2</a>
    ...
    <a href="###">99</a>
    <a href="###">100</a>
    <a href="###"><span class="x-icon">»</span></a>
</nav>

翻页按钮

<nav class="x-pagination x-pagination-round">
    <a href="###"><span class="x-icon">«</span> 上一页</a>
    <a href="###"><span class="x-icon">»</span> 下一页</a>
</nav>

<nav class="x-pagination x-pagination-round">
    <a href="###" class="x-left"><span class="x-icon">«</span> 上一页</a>
    <a href="###" class="x-right"><span class="x-icon">»</span> 下一页</a>
</nav>

API

Pagination 类

继承自:Control

表示一个分页。

字段 类型 描述 继承自
total : number

总条数。

number

总条数。

pageSize : number = 20

每页显示的条数。

number

每页显示的条数。

pageCount : number

总页数。

number

总页数。

currentPage : number = 1

当前页码。页码从 1 开始。

number

当前页码。页码从 1 开始。

minCount : number = 2

首尾保留的页数。

number

首尾保留的页数。

maxCount : number = 7

最多显示的页数(不含上一页和下一页)。建议设置为奇数。

number

最多显示的页数(不含上一页和下一页)。建议设置为奇数。

showTotal : boolean = true

是否显示总条数。

boolean

是否显示总条数。

showSizeChanger : boolean = true

是否显示页面大小切换器。

boolean

是否显示页面大小切换器。

sizeChangerItems : number[] = [10, 20, 30, 50, 100]

页面切换器显示的页码。

number[]

页面切换器显示的页码。

showPrevPage : boolean = true

是否显示上一页。

boolean

是否显示上一页。

showPagination : boolean = true

是否显示页码。

boolean

是否显示页码。

showNextPage : boolean = true

是否显示下一页。

boolean

是否显示下一页。

showQuickJumper : boolean = true

是否显示快速跳转。

boolean

是否显示快速跳转。

handleClick : (e: MouseEvent) => void = (e: MouseEvent) => { const page = +(e.target as HTMLElement).getAttribute("data-value")!; if (page) { this.select(page); } }

(保护的)处理页码点击事件。

function

(保护的)处理页码点击事件。

handleQuickJumperClick : (e: UIEvent) => void = (e: UIEvent) => { e.preventDefault(); const input = this.find(".x-pagination-quickjumper") as TextBox; if ((input.reportValidity() as NormalizedValidityResult).valid) { this.select(+input.value); } }

(保护的)处理快速跳转事件。

function

(保护的)处理快速跳转事件。

handleSizeChange : (e: UIEvent) => void = (e: UIEvent) => { const input = this.find(".x-pagination-sizechanger") as ComboBox; if ((input.reportValidity() as NormalizedValidityResult).valid) { this.select(undefined, +input.value); } }

(保护的)处理页面改变事件。

function

(保护的)处理页面改变事件。

onSelect : (page: number, pageSize: number, sender: Pagination) => boolean | void

切换页码或页大小事件。

function

切换页码或页大小事件。

onChange : (page: number, pageSize: number, sender: Pagination) => void

更改页面或页大小事件。

function

更改页面或页大小事件。

readyState : ControlState

获取当前控件的渲染状态。

继承自

Control

ControlState

获取当前控件的渲染状态。

Control
elem : HTMLElement

关联的元素。

继承自

Control

HTMLElement

关联的元素。

Control
vNode : VNode

(保护的)获取当前控件关联的虚拟节点。

继承自

Control

VNode

(保护的)获取当前控件关联的虚拟节点。

Control
sourceVNode : VNode

获取创建该控件使用的源虚拟节点。

继承自

Control

VNode

获取创建该控件使用的源虚拟节点。

Control
alwaysUpdate : boolean

控件是否使用主动更新模式。

继承自

Control

boolean

控件是否使用主动更新模式。

Control
body : HTMLElement

(只读)获取用于包含子控件和节点的根元素。

继承自

Control

HTMLElement

(只读)获取用于包含子控件和节点的根元素。

Control
duration : number = 200

渐变的持续毫秒数。如果为 0 则不使用渐变。

继承自

Control

number

渐变的持续毫秒数。如果为 0 则不使用渐变。

Control
class : string

CSS 类名。

继承自

Control

string

CSS 类名。

Control
hidden : boolean

是否隐藏。

继承自

Control

boolean

是否隐藏。

Control
style : string | { [key: string]: string | number; }

控件样式。

继承自

Control

string | object

控件样式。

Control
id : string

控件序号。

继承自

Control

string

控件序号。

Control
content : NodeLike

控件内容。

继承自

Control

NodeLike

控件内容。

Control
onSelectStart : (e: Event, sender: Pagination) => void function

选择开始事件。

Control
onClick : (e: MouseEvent, sender: Pagination) => void function

点击事件。

Control
onAuxClick : (e: MouseEvent, sender: Pagination) => void function

中键点击事件。

Control
onDblClick : (e: MouseEvent, sender: Pagination) => void function

双击事件。

Control
onContextMenu : (e: PointerEvent, sender: Pagination) => void function

右键菜单事件。

Control
onMouseDown : (e: MouseEvent, sender: Pagination) => void function

鼠标按下事件。

Control
onMouseUp : (e: MouseEvent, sender: Pagination) => void function

鼠标按上事件。

Control
onMouseOver : (e: MouseEvent, sender: Pagination) => void function

鼠标移入事件。

Control
onMouseOut : (e: MouseEvent, sender: Pagination) => void function

鼠标移开事件。

Control
onMouseEnter : (e: MouseEvent, sender: Pagination) => void function

鼠标进入事件。

Control
onMouseLeave : (e: MouseEvent, sender: Pagination) => void function

鼠标离开事件。

Control
onMouseMove : (e: MouseEvent, sender: Pagination) => void function

鼠标移动事件。

Control
onWheel : (e: WheelEvent, sender: Pagination) => void function

鼠标滚轮事件。

Control
onScroll : (e: UIEvent, sender: Pagination) => void function

滚动事件。

Control
onTouchStart : (e: TouchEvent, sender: Pagination) => void function

触摸开始事件。

Control
onTouchMove : (e: TouchEvent, sender: Pagination) => void function

触摸移动事件。

Control
onTouchEnd : (e: TouchEvent, sender: Pagination) => void function

触摸结束事件。

Control
onTouchCancel : (e: TouchEvent, sender: Pagination) => void function

触摸撤销事件。

Control
onPointerEnter : (e: PointerEvent, sender: Pagination) => void function

指针进入事件。

Control
onPointerLeave : (e: PointerEvent, sender: Pagination) => void function

指针离开事件。

Control
onPointerOver : (e: PointerEvent, sender: Pagination) => void function

指针移入事件。

Control
onPointerOut : (e: PointerEvent, sender: Pagination) => void function

指针移开事件。

Control
onPointerDown : (e: PointerEvent, sender: Pagination) => void function

指针按下事件。

Control
onPointerMove : (e: PointerEvent, sender: Pagination) => void function

指针移动事件。

Control
onPointerUp : (e: PointerEvent, sender: Pagination) => void function

指针松开事件。

Control
onPointerCancel : (e: PointerEvent, sender: Pagination) => void function

指针取消事件。

Control
onGotPointerCapture : (e: PointerEvent, sender: Pagination) => void function

指针开始捕获事件。

Control
onLostPointerCapture : (e: PointerEvent, sender: Pagination) => void function

指针停止捕获事件。

Control
Pagination.locale : { item: string; itemDisabled: string; prev: string; prevDisabled: string; next: string; nextDisabled: string; ellipsis: string; } = { item: `<a href="javascript://第 {page} 页" title="转到:第 {page} 页" data-value="{page}">{page}</a>`, itemDisabled: `<a class="x-pagination-active">{page}</a>`, prev: `<a href="javascript://第 {page} 页" class="x-pagination-prev" title="转到:第 {page} 页" data-value="{page}"><i class="x-icon">⮜</i>上一页</a>`, prevDisabled: ``, next: `<a href="javascript://第 {page} 页" class="x-pagination-next" title="转到:第 {page} 页" data-value="{page}">下一页 <i class="x-icon">⮞</i></a>`, nextDisabled: ``, ellipsis: ` ... ` }

存储本地化文案配置。

object

存储本地化文案配置。

方法 描述 继承自
select(...)(page?:number, pageSize?:number):void

切换到指定的页码和页大小。

参数 类型 描述 默认值
page number this.currentPage
pageSize number this.pageSize

返回值

类型:void

切换到指定的页码和页大小。

render()():VNode

(保护的)

返回值

类型:VNode

继承自

Control

(保护的)(已覆盖)当被子类重写时负责返回当前控件的虚拟节点。

Control
init()():void

(保护的)当被子类重写时负责在关联元素后初始化当前控件。

返回值

类型:void

继承自

Control

(保护的)当被子类重写时负责在关联元素后初始化当前控件。

Control
uninit()():void

(保护的)当被子类重写时负责在元素被取消关联前取消初始化当前控件。

返回值

类型:void

继承自

Control

(保护的)当被子类重写时负责在元素被取消关联前取消初始化当前控件。

Control
update()():void

重新渲染当前控件。

返回值

类型:void

继承自

Control

重新渲染当前控件。

Control
layout(changes)(changes:Changes):void

重新布局当前控件。

参数 类型 描述 默认值
changes* Changes

返回值

类型:void

继承自

Control

重新布局当前控件。

Control
invalidate()():void

使当前控件无效并在下一帧重新渲染。

返回值

类型:void

继承自

Control

使当前控件无效并在下一帧重新渲染。

Control
renderTo(parent, ...)(parent:Control | Node, refChild?:Control | Node):void

将当前控件渲染到指定的父控件或节点。

参数 类型 描述 默认值
parent* Control | Node
refChild Control | Node

返回值

类型:void

继承自

Control

将当前控件渲染到指定的父控件或节点。

Control
find(selector)(selector:string):Control | HTMLElement

在当前控件查找指定的子控件或节点。

参数 类型 描述 默认值
selector* string

返回值

类型:Control | HTMLElement

返回子控件或节点。如果找不到则返回 null。

继承自

Control

在当前控件查找指定的子控件或节点。

Control
query(selector)(selector:string):(Control | HTMLElement)[]

在当前控件查找匹配的所有子控件或节点。

参数 类型 描述 默认值
selector* string

返回值

类型:(Control | HTMLElement)[]

返回子控件或节点列表。

继承自

Control

在当前控件查找匹配的所有子控件或节点。

Control