Add page settings, improve settings UI
This commit is contained in:
31
CHDataManagement/Views/Generic/IntegerField.swift
Normal file
31
CHDataManagement/Views/Generic/IntegerField.swift
Normal file
@ -0,0 +1,31 @@
|
||||
import SwiftUI
|
||||
|
||||
struct IntegerField: View {
|
||||
|
||||
private let titleKey: LocalizedStringKey
|
||||
|
||||
@Binding
|
||||
private var number: Int
|
||||
|
||||
@State
|
||||
private var text: String = ""
|
||||
|
||||
init(_ titleKey: LocalizedStringKey, number: Binding<Int>) {
|
||||
self.titleKey = titleKey
|
||||
self._number = number
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
TextField(titleKey, text: $text)
|
||||
.onChange(of: text) { _, newValue in
|
||||
if let intValue = Int(newValue) {
|
||||
number = intValue
|
||||
} else {
|
||||
text = "\(number)"
|
||||
}
|
||||
}
|
||||
.onAppear {
|
||||
text = "\(number)"
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user