ContactEdit
Install
import { createApp } from 'vue';
import { ContactEdit } from 'vant';
const app = createApp();
app.use(ContactEdit);
Usage
Basic Usage
<van-contact-edit
is-edit
show-set-default
:contact-info="editingContact"
set-default-label="Set as the default contact"
@save="onSave"
@delete="onDelete"
/>
import { ref } from 'vue';
import { Toast } from 'vant';
export default {
setup() {
const editingContact = ref({});
const onSave = (contactInfo) => {
Toast('Save');
};
const onDelete = (contactInfo) => {
Toast('Delete');
};
return {
onSave,
onDelete,
editingContact,
};
},
};
API
Props
Attribute |
Description |
Type |
Default |
contact-info |
Contact Info |
Contact |
[] |
is-edit |
Whether is editing |
boolean |
false |
is-saving |
Whether to show save button loading status |
boolean |
false |
is-deleting |
Whether to show delete button loading status |
boolean |
false |
tel-validator |
The method to validate tel |
(tel: string) => boolean |
- |
show-set-default v2.3.0 |
Whether to show default contact switch |
boolean |
false |
set-default-label v2.3.0 |
default contact switch label |
string |
- |
Events
Event |
Description |
Arguments |
save |
Emitted when the save button is clicked |
content:contact info |
delete |
Emitted when the delete button is clicked |
content:contact info |
Data Structure of Contact
key |
Description |
Type |
name |
Name |
string |
tel |
Phone |
string |
Less Variables
How to use: Custom Theme.
Name |
Default Value |
Description |
@contact-edit-padding |
@padding-md |
- |
@contact-edit-fields-radius |
@border-radius-md |
- |
@contact-edit-buttons-padding |
@padding-xl 0 |
- |
@contact-edit-button-margin-bottom |
@padding-sm |
- |
@contact-edit-button-font-size |
16px |
- |
@contact-edit-field-label-width |
4.1em |
- |