pagination

package
v0.0.0-...-183ed1b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Page

type Page struct {
	// 链接
	URL string
	// 页码
	Number int
}

Page 单个分页元素

type Pagination

type Pagination struct {
	BaseURL string
	PerPage int
	Page    int
	Count   int64
	// contains filtered or unexported fields
}

Pagination 分页对象

func New

func New(r *http.Request, db *gorm.DB, baseURL string, PerPage int) *Pagination

New 分页对象构建器 r —— 用来获取分页的 URL 参数,默认是 page,可通过 config/pagination.go 修改 db —— GORM 查询句柄,用以查询数据集和获取数据总数 baseURL —— 用以分页链接 PerPage —— 每页条数,传参为小于或者等于 0 时为默认值 10,可通过 config/pagination.go 修改

func (Pagination) CurrentPage

func (p Pagination) CurrentPage() int

CurrentPage 返回当前页码

func (Pagination) GetPageFromRequest

func (p Pagination) GetPageFromRequest(r *http.Request) int

GetPageFromRequest 从 URL 中获取 page 参数

func (Pagination) HasNext

func (p Pagination) HasNext() bool

HasNext 如果当前页不为最后一页就返回 true

func (*Pagination) HasPages

func (p *Pagination) HasPages() bool

HasPages 总页数大于 1 时会返回 true

func (Pagination) HasPrev

func (p Pagination) HasPrev() bool

HasPrev 如果当前页不为第一页,就返回 true

func (Pagination) NewPage

func (p Pagination) NewPage(page int) Page

NewPage 设置当前页

func (Pagination) NextPage

func (p Pagination) NextPage() int

NextPage 下一页码,0 的话就是最后一页

func (*Pagination) Paging

func (p *Pagination) Paging() ViewData

Paging 返回渲染分页所需的数据

func (Pagination) PrevPage

func (p Pagination) PrevPage() int

PrevPage 前一页码,0 意味着这就是第一页

func (Pagination) Results

func (p Pagination) Results(data interface{}) error

Results 返回请求数据,请注意 data 参数必须为 GROM 模型的 Slice 对象

func (*Pagination) SetPage

func (p *Pagination) SetPage(page int)

SetPage 设置当前页

func (*Pagination) TotalCount

func (p *Pagination) TotalCount() int64

TotalCount 返回的是数据库里的条数

func (Pagination) TotalPage

func (p Pagination) TotalPage() int

TotalPage 返回总页数

type ViewData

type ViewData struct {
	// 是否需要显示分页
	HasPages bool

	// 下一页
	Next    Page
	HasNext bool

	// 上一页
	Prev    Page
	HasPrev bool

	Current Page

	// 数据库的内容总数量
	TotalCount int64
	// 总页数
	TotalPage int
}

ViewData 同视图渲染的数据

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL