import{o as t,a,y as n}from"./vue-libs.b44bc779.js";const d={class:"van-doc-markdown-body"},l=n(`
\u5C55\u793A\u8054\u7CFB\u4EBA\u5217\u8868\u3002
\u901A\u8FC7\u4EE5\u4E0B\u65B9\u5F0F\u6765\u5168\u5C40\u6CE8\u518C\u7EC4\u4EF6\uFF0C\u66F4\u591A\u6CE8\u518C\u65B9\u5F0F\u8BF7\u53C2\u8003\u7EC4\u4EF6\u6CE8\u518C\u3002
import { createApp } from 'vue';
import { ContactList } from 'vant';
const app = createApp();
app.use(ContactList);
<van-contact-list
v-model="chosenContactId"
:list="list"
default-tag-text="\u9ED8\u8BA4"
@add="onAdd"
@edit="onEdit"
@select="onSelect"
/>
import { ref } from 'vue';
import { Toast } from 'vant';
export default {
setup() {
const chosenContactId = ref('1');
const list = ref([
{
id: '1',
name: '\u5F20\u4E09',
tel: '13000000000',
isDefault: true,
},
{
id: '2',
name: '\u674E\u56DB',
tel: '1310000000',
},
]);
const onAdd = () => Toast('\u65B0\u589E');
const onEdit = (contact) => Toast('\u7F16\u8F91' + contact.id);
const onSelect = (contact) => Toast('\u9009\u62E9' + contact.id);
return {
list,
onAdd,
onEdit,
onSelect,
chosenContactId,
};
},
};
\u53C2\u6570 | \u8BF4\u660E | \u7C7B\u578B | \u9ED8\u8BA4\u503C |
---|---|---|---|
v-model | \u5F53\u524D\u9009\u4E2D\u8054\u7CFB\u4EBA\u7684 id | number | string | - |
list | \u8054\u7CFB\u4EBA\u5217\u8868 | Contact[] | [] |
add-text | \u65B0\u5EFA\u6309\u94AE\u6587\u6848 | string | \u65B0\u5EFA\u8054\u7CFB\u4EBA |
default-tag-text | \u9ED8\u8BA4\u8054\u7CFB\u4EBA\u6807\u7B7E\u6587\u6848 | string | - |
\u4E8B\u4EF6\u540D | \u8BF4\u660E | \u56DE\u8C03\u53C2\u6570 |
---|---|---|
add | \u70B9\u51FB\u65B0\u589E\u6309\u94AE\u65F6\u89E6\u53D1 | - |
edit | \u70B9\u51FB\u7F16\u8F91\u6309\u94AE\u65F6\u89E6\u53D1 | contact: Contact\uFF0Cindex: number |
select | \u5207\u6362\u9009\u4E2D\u7684\u8054\u7CFB\u4EBA\u65F6\u89E6\u53D1 | contact: Contact\uFF0Cindex: number |
\u952E\u540D | \u8BF4\u660E | \u7C7B\u578B |
---|---|---|
id | \u6BCF\u4F4D\u8054\u7CFB\u4EBA\u7684\u552F\u4E00\u6807\u8BC6 | number | string |
name | \u8054\u7CFB\u4EBA\u59D3\u540D | string |
tel | \u8054\u7CFB\u4EBA\u624B\u673A\u53F7 | number | string |
isDefault | \u662F\u5426\u4E3A\u9ED8\u8BA4\u8054\u7CFB\u4EBA | boolean |
\u7EC4\u4EF6\u5BFC\u51FA\u4EE5\u4E0B\u7C7B\u578B\u5B9A\u4E49\uFF1A
import type { ContactListItem, ContactListProps } from 'vant';
\u7EC4\u4EF6\u63D0\u4F9B\u4E86\u4E0B\u5217 CSS \u53D8\u91CF\uFF0C\u53EF\u7528\u4E8E\u81EA\u5B9A\u4E49\u6837\u5F0F\uFF0C\u4F7F\u7528\u65B9\u6CD5\u8BF7\u53C2\u8003 ConfigProvider \u7EC4\u4EF6\u3002
\u540D\u79F0 | \u9ED8\u8BA4\u503C | \u63CF\u8FF0 |
---|---|---|
--van-contact-list-edit-icon-size | 16px | - |
--van-contact-list-add-button-z-index | 999 | - |
--van-contact-list-item-padding | var(--van-padding-md) | - |
--van-contact-list-item-radio-icon-color | var(--van-danger-color) | - |