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
|
||||
|
||||
key(row.id) {
|
||||
val dismissState = rememberSwipeToDismissBoxState(
|
||||
confirmValueChange = { value ->
|
||||
if (value == SwipeToDismissBoxValue.EndToStart) {
|
||||
pendingDeleteIds = pendingDeleteIds + row.id
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
val dismissState = rememberSwipeToDismissBoxState()
|
||||
|
||||
androidx.compose.runtime.LaunchedEffect(dismissState.currentValue) {
|
||||
if (dismissState.currentValue == SwipeToDismissBoxValue.EndToStart && !isBeingDeleted) {
|
||||
pendingDeleteIds = pendingDeleteIds + row.id
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
var visible by remember { mutableStateOf(false) }
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user