diff --git a/VDS/Components/RadioButton/RadioButtonGroup.swift b/VDS/Components/RadioButton/RadioButtonGroup.swift index 7c792e2c..805dd6bd 100644 --- a/VDS/Components/RadioButton/RadioButtonGroup.swift +++ b/VDS/Components/RadioButton/RadioButtonGroup.swift @@ -37,6 +37,12 @@ public class RadioButtonGroupBase.ModelType) -> Bool { + let update = viewModel.selectedModel?.id != model.selectedModel?.id + || super.shouldUpdateView(viewModel: viewModel) + return update + } + public override func didSelect(selector: RadioButtonGroupModelType.SelectorType) { for selectorModel in model.selectors { diff --git a/VDS/Components/Selector/SelectorGroupBase.swift b/VDS/Components/Selector/SelectorGroupBase.swift index 0e3d0c1c..bbe285a3 100644 --- a/VDS/Components/Selector/SelectorGroupBase.swift +++ b/VDS/Components/Selector/SelectorGroupBase.swift @@ -65,8 +65,12 @@ open class SelectorGroupBase Bool { - return true + open override func shouldUpdateView(viewModel: SelectorGroupType) -> Bool { + let update = viewModel.selectors.count != model.selectors.count + || viewModel.hasError != model.hasError + || viewModel.surface != model.surface + || viewModel.disabled != model.disabled + return update } open override func updateView(viewModel: ModelType) {