feat: 日期检查器 Row 日期选择器禁选早于生产日期
This commit is contained in:
parent
2085c22987
commit
1438b405a9
@ -43,6 +43,7 @@ import androidx.compose.material.icons.filled.Add
|
||||
import androidx.compose.material.icons.filled.Refresh
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.SelectableDates
|
||||
import androidx.compose.material3.SwipeToDismissBox
|
||||
import androidx.compose.material3.SwipeToDismissBoxValue
|
||||
import androidx.compose.material3.Text
|
||||
@ -453,7 +454,23 @@ fun DateCheckerScreen(onBack: () -> Unit, modifier: Modifier = Modifier) {
|
||||
null -> productionDate.toEpochMillis()
|
||||
}
|
||||
|
||||
val datePickerState = rememberDatePickerState(initialSelectedDateMillis = initialMillis)
|
||||
val productionMillis = productionDate.toEpochMillis()
|
||||
// Row 日期选择器禁选早于生产日期(到期日不应在生产之前);
|
||||
// Production 选择器本身不受限制。当前 BOM 无 SelectableDates.AllDates,
|
||||
// 用空实现 object 等价于默认全允许(default 方法均返回 true)。
|
||||
val datePickerState = rememberDatePickerState(
|
||||
initialSelectedDateMillis = initialMillis,
|
||||
selectableDates = when (datePickerTarget) {
|
||||
is DatePickerTarget.Row -> object : SelectableDates {
|
||||
override fun isSelectableDate(utcTimeMillis: Long): Boolean =
|
||||
utcTimeMillis >= productionMillis
|
||||
|
||||
override fun isSelectableYear(year: Int): Boolean =
|
||||
year >= productionDate.year
|
||||
}
|
||||
else -> object : SelectableDates {}
|
||||
}
|
||||
)
|
||||
|
||||
DatePickerDialog(
|
||||
onDismissRequest = { showDatePicker = false },
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user