fix: emits for FormSelect and PhoneInput component (#10226)

This commit is contained in:
Shivam Mishra
2024-10-04 15:09:42 +05:30
committed by GitHub
parent 83100b8f60
commit bd88bfb0fe
3 changed files with 14 additions and 17 deletions

View File

@@ -8,7 +8,7 @@ import {
export default {
props: {
value: {
modelValue: {
type: [String, Number],
default: '',
},
@@ -29,7 +29,7 @@ export default {
default: false,
},
},
emits: ['blur', 'input', 'setCode'],
emits: ['blur', 'setCode', 'update:modelValue'],
data() {
return {
selectedIndex: -1,
@@ -37,7 +37,7 @@ export default {
searchCountry: '',
activeCountryCode: getActiveCountryCode(),
activeDialCode: getActiveDialCode(),
phoneNumber: this.value,
phoneNumber: this.modelValue,
};
},
computed: {
@@ -76,12 +76,12 @@ export default {
},
},
watch: {
value() {
const number = parsePhoneNumber(this.value);
modelValue() {
const number = parsePhoneNumber(this.modelValue);
if (number) {
this.activeCountryCode = number.country;
this.activeDialCode = `+${number.countryCallingCode}`;
this.phoneNumber = this.value.replace(
this.phoneNumber = this.modelValue.replace(
`+${number.countryCallingCode}`,
''
);
@@ -103,7 +103,8 @@ export default {
},
onChange(e) {
this.phoneNumber = e.target.value;
this.$emit('input', e.target.value, this.activeDialCode);
this.$emit('update:modelValue', e.target.value);
this.$emit('setCode', this.activeDialCode);
},
onBlur(e) {
this.$emit('blur', e.target.value);

View File

@@ -201,9 +201,6 @@ export default {
}
return contactObject;
},
onPhoneNumberInputChange(value, code) {
this.activeDialCode = code;
},
setPhoneCode(code) {
if (this.phoneNumber !== '' && this.parsePhoneNumber) {
const dialCode = this.parsePhoneNumber.countryCallingCode;
@@ -336,7 +333,6 @@ export default {
:value="phoneNumber"
:error="isPhoneNumberNotValid"
:placeholder="$t('CONTACT_FORM.FORM.PHONE_NUMBER.PLACEHOLDER')"
@input="onPhoneNumberInputChange"
@blur="v$.phoneNumber.$touch"
@set-code="setPhoneCode"
/>

View File

@@ -29,7 +29,7 @@ export default {
type: String,
required: true,
},
value: {
modelValue: {
type: String,
default: '',
},
@@ -42,10 +42,10 @@ export default {
default: '',
},
},
emits: ['input'],
emits: ['update:modelValue'],
methods: {
onInput(e) {
this.$emit('input', e.target.value);
this.$emit('update:modelValue', e.target.value);
},
},
};
@@ -61,11 +61,11 @@ export default {
>
<select
:id="id"
:selected="value"
:selected="modelValue"
:name="name"
:class="{
'text-ash-400': !value,
'text-ash-900': value,
'text-ash-400': !modelValue,
'text-ash-900': modelValue,
'pl-9': icon,
}"
class="block w-full px-3 py-2 pr-6 mb-0 border-0 shadow-sm outline-none appearance-none rounded-xl select-caret ring-ash-200 ring-1 ring-inset placeholder:text-ash-900 focus:ring-2 focus:ring-inset focus:ring-primary-500 sm:text-sm sm:leading-6"