Crate ratatui_kit

Crate ratatui_kit 

Source

Re-exports§

pub use crossterm;
pub use ratatui;

Modules§

components
layout_style
prelude
tree

Macros§

element
声明式 UI 宏,类似 JSX,支持嵌套、props、children、条件渲染、列表渲染等,极大提升终端 UI 组件开发效率。

Structs§

AnyElement
AnyProps
ComponentDrawer
ComponentUpdater
Components
ContextStack
CrossTerminal
Element
ElementKey
Handler
Hooks
hooks 管理器,负责组件内所有 hook 的注册、索引和生命周期。
InsertBeforeHandler
InstantiatedComponent
NoProps
空属性类型,表示组件不需要任何 props。
State
响应式状态持有者。 支持原子读写、变更通知、算术运算等。
StateMutNoUpdate
状态的可变引用,不触发变更通知。 通过 State::write_no_updateState::try_write_no_update 获取。
StateMutRef
状态的可变引用,支持变更通知。 通过 State::writeState::try_write 获取。
StateRef
状态的只读引用。 通过 State::readState::try_read 获取。
SystemContext
Terminal
TerminalEvents
UseAsyncEffectImpl
UseFutureImpl
UseMemoImpl
UsePreviousSizeImpl

Enums§

Context
通用上下文类型,支持所有权、不可变引用、可变引用三种模式。

Traits§

AnyComponent
Component
组件系统核心 trait,所有自定义 UI 组件都需实现。
ElementExt
ElementExt trait 为所有 UI 元素提供统一的扩展方法。
ElementType
ExtendWithElements
Hook
所有自定义 hook 的 trait 基础,定义生命周期相关回调。
Props
组件属性 trait,所有可作为组件 props 的类型都需实现此 trait。
TerminalImpl
UseContext
UseEffect
UseEvents
UseExit
UseFuture
UseInsertBefore
UseMemo
UseOnDrop
在组件销毁时执行回调。注意不要在回调中使用State。
UsePreviousSize
获取组件当前尺寸,但是是上一帧的尺寸
UseState
UseTerminalSize
获取终端当前尺寸,并在终端尺寸变化时更新,适合响应式布局。

Functions§

extend_with_elements

Attribute Macros§

component
简化组件函数定义,自动实现 Component trait。
with_layout_style
为属性结构体自动生成布局相关方法。

Derive Macros§

Props