LidListener<T> class
Takes a LidWidgetListener and an optional stateNotifier and invokes
the listener in response to state
changes in the stateNotifier.
It should be used for functionality that needs to occur only in response to
a state
change such as navigation, showing a SnackBar
, showing
a Dialog
, etc...
The listener is guaranteed to only be called once for each state
change
unlike the builder
in LidBuilder
.
Specify the stateNotifier.
LidListener<StateType>(
stateNotifier: stateNotifier,
listener: (context, state) {
// do stuff here based on State Notifier's state
},
child: Container(),
)
An optional listenWhen can be implemented for more granular control
over when listener is called.
listenWhen will be invoked on each stateNotifier state
change.
listenWhen takes the previous state
and current state
and must
return a bool which determines whether or not the listener function
will be invoked.
The previous state
will be initialized to the state
of the stateNotifier
when the LidListener is initialized.
listenWhen is optional and if omitted, it will default to true
.
LidListener<StateType>(
stateNotifier: stateNotifier,
listenWhen: (previous, current) {
// return true/false to determine whether or not
// to invoke listener with state
},
listener: (context, state) {
// do stuff here based on State Notifier's state
}
child: Container(),
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- SingleChildStatefulWidget
- LidListener
Constructors
-
LidListener({Key? key, required LidWidgetListener<
T> listener, required StateNotifier<T> stateNotifier, ListenerCondition<T> ? listenWhen, Widget? child}) -
const
Properties
- child → Widget?
-
The widget which will be rendered as a descendant of the LidListener.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
listener
→ LidWidgetListener<
T> -
The LidWidgetListener which will be called on every
state
change. This listener should be used for any code which needs to execute in response to astate
change.final -
listenWhen
→ ListenerCondition<
T> ? -
An optional listenWhen can be implemented for more granular control
over when listener is called.
listenWhen will be invoked on each stateNotifier
state
change. listenWhen takes the previousstate
and currentstate
and must return a bool which determines whether or not the listener function will be invoked. The previousstate
will be initialized to thestate
of the stateNotifier when the LidListener is initialized. listenWhen is optional and if omitted, it will default totrue
.final - runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
stateNotifier
→ StateNotifier<
T> -
The stateNotifier that the LidBuilder will interact with.
final
Methods
-
createElement(
) → SingleChildStatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → _LidListenerState< T> -
Creates the mutable state for this widget at a given location in the tree.
override
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of
DiagnosticsNode
objects describing this node's children.inherited -
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited