fix: 修复日期检查器滑动删除 state 错位并消除 deprecation warning
- 将 dismissState 移入 key(row.id) 内部,修复删除后 state 被错误复用的问题 - 新增 pendingDeleteIds 延迟删除机制,滑动删除播放 shrinkVertically + fadeOut 退场动画 - 移除废弃的 confirmValueChange 参数,改用 LaunchedEffect 监听 dismissState.currentValue
This commit is contained in:
parent
877a3f9aa4
commit
484045950f
@ -237,16 +237,13 @@ fun DateCheckerScreen(onBack: () -> Unit, modifier: Modifier = Modifier) {
|
|||||||
val isBeingDeleted = row.id in pendingDeleteIds
|
val isBeingDeleted = row.id in pendingDeleteIds
|
||||||
|
|
||||||
key(row.id) {
|
key(row.id) {
|
||||||
val dismissState = rememberSwipeToDismissBoxState(
|
val dismissState = rememberSwipeToDismissBoxState()
|
||||||
confirmValueChange = { value ->
|
|
||||||
if (value == SwipeToDismissBoxValue.EndToStart) {
|
androidx.compose.runtime.LaunchedEffect(dismissState.currentValue) {
|
||||||
|
if (dismissState.currentValue == SwipeToDismissBoxValue.EndToStart && !isBeingDeleted) {
|
||||||
pendingDeleteIds = pendingDeleteIds + row.id
|
pendingDeleteIds = pendingDeleteIds + row.id
|
||||||
true
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
|
||||||
|
|
||||||
var visible by remember { mutableStateOf(false) }
|
var visible by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user