diff --git a/VDS/Components/TextFields/EntryFieldBase.swift b/VDS/Components/TextFields/EntryFieldBase.swift index c57a3432..d2f3a6c7 100644 --- a/VDS/Components/TextFields/EntryFieldBase.swift +++ b/VDS/Components/TextFields/EntryFieldBase.swift @@ -195,7 +195,17 @@ open class EntryFieldBase: Control, Changeable, FormFieldInternalValidatable { open var inputId: String? { didSet { setNeedsUpdate() } } - open var value: String? { didSet { setNeedsUpdate() } } + /// The text of this textField. + internal var _value: String? + open var value: String? { + get { _value } + set { + if let newValue, newValue != _value { + _value = newValue + sendActions(for: .valueChanged) + } + } + } open var defaultValue: AnyHashable? { didSet { setNeedsUpdate() } } diff --git a/VDS/Components/TextFields/InputField/InputField.swift b/VDS/Components/TextFields/InputField/InputField.swift index b739b577..448dbbf1 100644 --- a/VDS/Components/TextFields/InputField/InputField.swift +++ b/VDS/Components/TextFields/InputField/InputField.swift @@ -91,15 +91,11 @@ open class InputField: EntryFieldBase, UITextFieldDelegate { } /// The value of this textField. - private var _value: String? open override var value: String? { - get { _value } - set { - if let newValue, newValue != _value { - _value = newValue - text = newValue + didSet { + if text != value { + text = value } - setNeedsUpdate() } } diff --git a/VDS/Components/TextFields/TextArea/TextArea.swift b/VDS/Components/TextFields/TextArea/TextArea.swift index ee09ecb3..3c1bbf56 100644 --- a/VDS/Components/TextFields/TextArea/TextArea.swift +++ b/VDS/Components/TextFields/TextArea/TextArea.swift @@ -105,14 +105,12 @@ open class TextArea: EntryFieldBase { } } } - - /// The text of this textView - private var _text: String? + + /// The text of this TextArea. open var text: String? { get { textView.text } set { - if let newValue, newValue != _text { - _text = newValue + if let newValue, newValue != text { textView.text = newValue value = newValue } @@ -120,16 +118,12 @@ open class TextArea: EntryFieldBase { } } - /// The text of this textField. - private var _value: String? + /// The value of this textField. open override var value: String? { - get { _value } - set { - if let newValue, newValue != _value { - _value = newValue - text = newValue + didSet { + if text != value { + text = value } - setNeedsUpdate() } }