Skip to content

Commit cd69dee

Browse files
committed
Add readonly prop for native input #164
1 parent cbc2217 commit cd69dee

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/components/vue-tel-input.vue

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<div :class="['vue-tel-input', wrapperClasses, { disabled: disabled }]">
33
<div
44
v-click-outside="clickedOutside"
5-
:tabindex="dropdownOptions && dropdownOptions.tabindex ? dropdownOptions.tabindex : 0"
65
:class="['vti__dropdown', { open: open }]"
6+
:tabindex="dropdownOptions && dropdownOptions.tabindex ? dropdownOptions.tabindex : 0"
77
@keydown="keyboardNav"
88
@click="toggleDropdown"
99
@keydown.esc="reset"
@@ -20,8 +20,8 @@
2020
<ul ref="list" class="vti__dropdown-list" v-show="open" :class="dropdownOpenDirection">
2121
<li
2222
v-for="(pb, index) in sortedCountries"
23-
:key="pb.iso2 + (pb.preferred ? '-preferred' : '')"
2423
:class="['vti__dropdown-item', getItemClass(index, pb.iso2)]"
24+
:key="pb.iso2 + (pb.preferred ? '-preferred' : '')"
2525
@click="choose(pb, true)"
2626
@mousemove="selectedIndex = index"
2727
>
@@ -37,15 +37,16 @@
3737
ref="input"
3838
type="tel"
3939
v-model="phone"
40-
:placeholder="parsedPlaceholder"
41-
:disabled="disabled"
42-
:required="required"
4340
:autocomplete="autocomplete"
4441
:autofocus="autofocus"
45-
:name="name"
4642
:class="['vti__input', inputClasses]"
43+
:disabled="disabled"
4744
:id="inputId"
4845
:maxlength="maxLen"
46+
:name="name"
47+
:placeholder="parsedPlaceholder"
48+
:readonly="readonly"
49+
:required="required"
4950
:tabindex="inputOptions && inputOptions.tabindex ? inputOptions.tabindex : 0"
5051
@blur="onBlur"
5152
@focus="onFocus"
@@ -212,6 +213,10 @@ export default {
212213
type: Array,
213214
default: () => getDefault('preferredCountries'),
214215
},
216+
readonly: {
217+
type: Boolean,
218+
default: () => getDefault('readonly'),
219+
},
215220
required: {
216221
type: Boolean,
217222
default: () => getDefault('required'),

src/utils.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ export const defaultOptions = {
5454
onlyCountries: [],
5555
placeholder: 'Enter a phone number',
5656
preferredCountries: [],
57+
readonly: false,
5758
required: false,
5859
validCharactersOnly: false,
5960
wrapperClasses: '',

0 commit comments

Comments
 (0)