# x-dropdown 组件使用说明
## 组件简介
`x-dropdown` 是一个灵活的下拉菜单组件,支持自定义触发器和菜单内容,提供智能定位和动画效果。
## 功能特性
- ✅ 支持自定义触发器内容
- ✅ 支持自定义菜单样式
- ✅ 智能定位,自动调整菜单位置
- ✅ 流畅的动画效果
- ✅ 支持插槽自定义菜单内容
- ✅ 完整的事件回调
## 基本使用
### 基础用法
```vue
点击选择
▼
```
### 自定义菜单样式
```vue
自定义样式菜单
```
### 使用插槽自定义菜单
```vue
自定义菜单
```
## 属性说明
| 属性名 | 类型 | 默认值 | 说明 |
|--------|------|--------|------|
| `menuList` | Array | `['菜单1', '菜单2', '菜单3']` | 菜单选项列表 |
| `menuStyle` | Object | `{}` | 菜单项的自定义样式 |
| `interspace` | String/Number | `'10rpx'` | 菜单与触发器的间距 |
| `customStyle` | Object/String | - | 触发器的自定义样式 |
### menuList 数据格式
支持以下两种数据格式:
```javascript
// 简单字符串数组
menuList: ['选项1', '选项2', '选项3']
// 对象数组(推荐)
menuList: [
{ label: '选项1', value: 'option1' },
{ label: '选项2', value: 'option2' },
{ label: '选项3', value: 'option3' }
]
```
## 事件说明
| 事件名 | 说明 | 回调参数 |
|--------|------|----------|
| `@open` | 菜单打开时触发 | - |
| `@close` | 菜单关闭时触发 | - |
| `@change` | 菜单状态改变时触发 | `Boolean` - 是否打开 |
| `@menuClick` | 点击菜单项时触发 | `{ value, index }` - 菜单项值和索引 |
## 插槽说明
| 插槽名 | 说明 |
|--------|------|
| 默认插槽 | 触发器内容 |
| `menu` | 自定义菜单内容 |
## 方法说明
| 方法名 | 说明 | 参数 |
|--------|------|------|
| `close()` | 手动关闭菜单 | - |
使用方法:
```javascript
// 通过 ref 调用
this.$refs.dropdown.close()
```
## 完整示例
```vue
基础下拉菜单
{{ selectedValue || '请选择' }}
▼
自定义样式菜单
选择颜色
完全自定义菜单
```
## 注意事项
1. **定位机制**:组件会自动检测屏幕边界,智能调整菜单位置
2. **动画效果**:内置了流畅的展开/收起动画
3. **点击关闭**:点击遮罩层会自动关闭菜单
4. **自定义菜单**:使用插槽时需要手动调用 `close()` 方法关闭菜单
5. **样式优先级**:`menuStyle` 属性只对默认菜单生效,插槽菜单需要自定义样式
### 插件如果对你有帮助给个好评吧~