modelValue refactoring start

This commit is contained in:
Mark Harris 2022-02-03 09:58:44 -05:00
parent a4b6c40e00
commit a21e7aa2c4
4 changed files with 30 additions and 12 deletions

View file

@ -30,7 +30,7 @@
:altText="answer.Name ? answer.Name : answer" :altText="answer.Name ? answer.Name : answer"
screenReaderOnlyText="(opens new window)" screenReaderOnlyText="(opens new window)"
:colLength="this.answers.length < 3 ? '' : '-4'" :colLength="this.answers.length < 3 ? '' : '-4'"
v-model="modelValue" v-model="selectedValues"
data-test="button" data-test="button"
/> />
</div> </div>
@ -98,6 +98,14 @@ export default {
} }
return classes; return classes;
}, },
selectedValues: {
get: function() {
return this.modelValue;
},
set: function(newValue) {
this.$emit("update:modelValue", newValue);
}
},
}, },
data(){ data(){
return { return {

View file

@ -28,7 +28,7 @@ export default {
name: "vehicle-year", name: "vehicle-year",
data() { data() {
return { return {
selectedYear: [], selectedYear: String,
}; };
}, },
computed: {}, computed: {},

View file

@ -7,7 +7,7 @@
groupName="Choose Vehicle Year" groupName="Choose Vehicle Year"
textPosition="text-start" textPosition="text-start"
:loaderEnabled="true" :loaderEnabled="true"
v-model="modelValue" v-model="selectedValueAsArray"
isRequired=true isRequired=true
/> />
</template> </template>
@ -26,12 +26,24 @@ export default {
}; };
}, },
props: { props: {
modelValue: Array, modelValue: String,
}, },
emits: ['update:modelValue'], emits: ['update:modelValue'],
components: { components: {
buttonQuestion, buttonQuestion,
}, },
computed: {
selectedValueAsArray: {
get: function() {
const modelValueAsArray = this.modelValue ? [this.modelValue] : null;
return modelValueAsArray;
},
set: function(newValue) {
const newValueAsScalar = newValue && newValue.length > 0 ? newValue[0] : null;
this.$emit("update:modelValue", newValueAsScalar);
}
}
},
methods: { methods: {
loadInitialData() { loadInitialData() {
return baseMixin.methods.dispatchNonBlockingStoreAction( return baseMixin.methods.dispatchNonBlockingStoreAction(
@ -44,10 +56,5 @@ export default {
this.years = initialData; this.years = initialData;
}, },
}, },
watch: {
modelValue(val) {
this.$emit("update:modelValue", val);
},
},
}; };
</script> </script>

View file

@ -94,8 +94,11 @@ export default {
}, },
}, },
watch: { watch: {
checkValue(){ checkValue(newValue, oldValue){
this.$emit('isCheckedChanged', {isChecked: this.checkValue, buttonId: this.buttonID}); const isInitialization = typeof(oldValue) !== 'function';
if (isInitialization) {
this.$emit('isCheckedChanged', { isChecked: this.checkValue, buttonId: this.buttonID + '' });
}
} }
}, },
components: { components: {