跳转到内容

SusPagination

SusPagination

长列表的分页条 —— 当前页、可见窗口,可选首页/末页。

SusKit · 原子(商业)

在 Playground 中打开

SusKit · Atoms

属性

名称类型默认值
LengthProp<int>1v-model
ModelProp<int>1v-model
TotalVisibleProp<int>5v-model
ShowFirstLastProp<bool>falsev-model
DisabledProp<bool>falsev-model
CircleProp<bool>falsev-model
DensityProp<string>"default"v-model

插槽

没有插槽。

事件

名称字段载荷
PageChangedOnPageChangedint

样式钩子

USS 类契约 — 无需改 C# 即可覆盖外观。状态通过这些类切换:

  • keyboard-focus
  • sus-pagination
  • sus-pagination__btn
  • sus-pagination__page
  • sus-pagination__page--active
  • sus-pagination__pages
  • sus-pagination--circle
  • sus-pagination--density-comfortable
  • sus-pagination--density-compact
  • sus-pagination--disabled

用法

xml
<template>
  <sus:SusPagination :Length="PageCount.Value"
                     :Model="Page.Value"
                     TotalVisible="5"
                     ShowFirstLast="true"
                     @page-changed="OnPage" />
</template>

<script>
public Prop<int> PageCount = new(12);
public Prop<int> Page = new(1);
void OnPage(int page) { Page.Value = page; }
</script>
csharp
var pages = new SusPagination();
pages.Length.Value = 20;
pages.Model.Value = 1;
pages.TotalVisible.Value = 5;
pages.Circle.Value = true;
pages.OnPageChanged += page => { /* … */ };

备注

  • Length 是总页数;Model 是当前激活页(从 1 开始)。
  • Densitycompact · default · comfortable