# vue2-imperative-component
**Repository Path**: lishichang/vue2-imperative-component
## Basic Information
- **Project Name**: vue2-imperative-component
- **Description**: 基于vue2和element-ui的两个命令式组件,弹窗和抽屉
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-09-11
- **Last Updated**: 2025-09-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 简介
基于vue2+element-ui的命令式组件
element-ui提供的弹窗和抽屉组件是以模板形式来写的,显示因此、父子组件传参等比较繁琐。
弹窗和抽屉这两种场景很适合使用命令式组件去简化开发,父子组件都只需要考虑业务编写,无需考虑太多组件间的处理。
# 使用
方式一:
在组件目录下demo中有使用示例。vue版本2.6.10以上,element-ui版本2.13.12以上。因为是特定针对于公司项目做的,也用了很久了,所有技术栈都是统一的,直接放上来了,如果有问题注意考虑版本兼容。
方式二:
npm install vue2-imperative-component --save
```js
import vue2ImperativeComponent from 'vue2-imperative-component'
Vue.use(vue2ImperativeComponent)
```
然后就可以使用了 this.yw_dialog() this.yw_drawer() 具体如下父组件
### 父组件
##### 代码
```vue
```
##### 参数
| 属性 | 描述 |
|-------|-------|
| title | 标题,string |
| component | 引入的子组件,传import中命名的子组件即可 |
| options | 弹窗或抽屉的配置选项,object,详细属性在表格下方 |
| params | 父组件给子组件的传参,object |
详细说明:
1.默认以下配置,没有改动可以直接传空,如
dialog('添加', edit, {}, {})
2.只改size,第三个参数options可以传字符串,支持像素和百分比,'500px'和'50%'(部分版本的element-ui如果不好使就试试500),如
dialog('添加', edit, '800px', params)
3.哪个配置有改动可以只写那个配置,不用都写,如
dialog('添加', edit, { showConfirm: false }, params)
4.因为是根据我公司需求封装,场景固定,第三个参数options只支持以下三个属性,如需扩展可以自行修改代码:
const options = {
size: '500px',
showConfirm: true,
showCancel: true
}
### 子组件
如下,是子组件模板,其中data中的dialog_params是父组件给子组件的传参,methods中的confirm和cancel是底部的确认和取消按钮,在父组件的回调中可以获取这里传的参数
##### 代码
```vue
```