elementui二次封装案例
Element UI 是一个基于 Vue  的桌面端组件库,它提供了丰富的组件和样式,可以帮助开发者快速构建出美观且功能强大的界面。在开发过程中,为了提高代码的复用性和可维护性,我们常常需要对 Element UI 的组件进行二次封装。下面是一个 Element UI 二次封装的示例案例,其中包含一个封装后的按钮组件。
```vue
<template>
  <el-button :type="type" :icon="icon" click="handleClick">
    <slot></slot>
  </el-button>
</template>
<script>
export default {
  props: {
    type: {
      type: String,
      default: 'primary'
    },
    icon: {
      type: String,
      default: ''
    }
  },
  methods: {
    handleClick() {
      this.$emit('click', );
    }
  }
};
</script>
```
在这个示例中,我们创建了一个名为 `CustomButton` 的组件,它接受两个 props:`type` 和 `icon`。其中,`type` 用于设置按钮的类型,默认值为 `primary`;`icon` 用于设置按钮的图标,默认值为空字符串。组件内部使用了 Element UI 的 `el-button` 组件,并通过 `slot` 插槽
来接受外部传入的按钮文本。在 `handleClick` 方法中,我们通过 `$emit` 方法向外发出一个名为 `click` 的事件,并传递当前的按钮类型作为参数。
使用这个封装后的组件,我们可以像下面这样使用:
```vue
<template>
  <div>
    <CustomButton type="success" icon="el-icon-check" click="handleClick">按钮文本</CustomButton>
  </div>
</template>
<script>
import CustomButton from './';
export default {
  components: {
    CustomButton
  },
  methods: {
    handleClick(type) {
      ('点击了按钮:', type);
    }
  }
};
</script>
elementui登录界面```
在这个示例中,我们首先引入了 `CustomButton` 组件,并在 `components` 中注册了它。然后,我们在模板中使用了这个组件,并传入了 `type` 和 `icon` 两个 props。同时,我们还通过 `click` 监听了 `click` 事件,并在 `handleClick` 方法中处理了点击事件。当点击按钮时,我们可以在控制台中看到输出的信息。