BasicScreen

@Stable
abstract class BasicScreen : ViewModel

Inheritors

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
Link copied to clipboard
lateinit var manager: ScreenManager
Link copied to clipboard

浮窗槽

Link copied to clipboard

Functions

Link copied to clipboard
expect fun addCloseable(key: String, closeable: AutoCloseable)
override fun addCloseable(closeable: AutoCloseable)
Link copied to clipboard
expect fun <T : AutoCloseable> getCloseable(key: String): T?
Link copied to clipboard
open suspend fun initialize()

首次进入页面的初始化事件

Link copied to clipboard
fun launch(context: CoroutineContext = EmptyCoroutineContext, block: suspend CoroutineScope.() -> Unit): Job

启动协程

Link copied to clipboard
fun <T> monitor(state: () -> T, action: suspend (T) -> Unit): Job

普通变量监听

Link copied to clipboard
inline fun <S : BasicScreen> navigate(metaConstructor: () -> S, policy: NavigationPolicy = NavigationPolicy.New)
inline fun <S : BasicScreen, A1> navigate(metaConstructor: (A1) -> S, arg1: A1, policy: NavigationPolicy = NavigationPolicy.New)
inline fun <S : BasicScreen, A1, A2> navigate(metaConstructor: (A1, A2) -> S, arg1: A1, arg2: A2, policy: NavigationPolicy = NavigationPolicy.New)
inline fun <S : BasicScreen, A1, A2, A3> navigate(metaConstructor: (A1, A2, A3) -> S, arg1: A1, arg2: A2, arg3: A3, policy: NavigationPolicy = NavigationPolicy.New)

导航切换页面

Link copied to clipboard
fun pop()

弹出导航栈顶层页面

Link copied to clipboard
open suspend fun resume()

从导航栈中移入栈顶时的恢复事件

Link copied to clipboard
@JvmName(name = "withResume0")
inline suspend fun withResume(crossinline block: suspend () -> Unit)
@JvmName(name = "withResume1n")
inline suspend fun <A1> withResume(crossinline block: suspend (A1?) -> Unit)
@JvmName(name = "withResume1a")
inline suspend fun <A1 : Any> withResume(crossinline block: suspend (A1) -> Unit)
@JvmName(name = "withResume2nn")
inline suspend fun <A1, A2> withResume(crossinline block: suspend (A1?, A2?) -> Unit)
@JvmName(name = "withResume2na")
inline suspend fun <A1, A2 : Any> withResume(crossinline block: suspend (A1?, A2) -> Unit)
@JvmName(name = "withResume2an")
inline suspend fun <A1 : Any, A2> withResume(crossinline block: suspend (A1, A2?) -> Unit)
@JvmName(name = "withResume2aa")
inline suspend fun <A1 : Any, A2 : Any> withResume(crossinline block: suspend (A1, A2) -> Unit)
@JvmName(name = "withResume3nnn")
inline suspend fun <A1, A2, A3> withResume(crossinline block: suspend (A1?, A2?, A3?) -> Unit)
@JvmName(name = "withResume3nna")
inline suspend fun <A1, A2, A3 : Any> withResume(crossinline block: suspend (A1?, A2?, A3) -> Unit)
@JvmName(name = "withResume3nan")
inline suspend fun <A1, A2 : Any, A3> withResume(crossinline block: suspend (A1?, A2, A3?) -> Unit)
@JvmName(name = "withResume3naa")
inline suspend fun <A1, A2 : Any, A3 : Any> withResume(crossinline block: suspend (A1?, A2, A3) -> Unit)
@JvmName(name = "withResume3ann")
inline suspend fun <A1 : Any, A2, A3> withResume(crossinline block: suspend (A1, A2?, A3?) -> Unit)
@JvmName(name = "withResume3ana")
inline suspend fun <A1 : Any, A2, A3 : Any> withResume(crossinline block: suspend (A1, A2?, A3) -> Unit)
@JvmName(name = "withResume3aan")
inline suspend fun <A1 : Any, A2 : Any, A3> withResume(crossinline block: suspend (A1, A2, A3?) -> Unit)
@JvmName(name = "withResume3aaa")
inline suspend fun <A1 : Any, A2 : Any, A3 : Any> withResume(crossinline block: suspend (A1, A2, A3) -> Unit)