本文介绍: 【前端】Element-UI和Element-Plus区别

移动支持区别

Element-UI对应Element2:基本支持手机

Element-Plus对应Element3:组件布局考虑手机展示

框架区别

Elementui用于Vue2框架

Element-plus用于Vue3框架

开发使用的区别

eltable

 <template slot-scope="scope"&gt;</template&gt;  // element
  <template #default="scope"&gt;</template&gt;  // element-plus

eldialog

  <!-- element --&gt;
  <span slot="footer" class="dialog-footer"&gt;  
      <el-button @click="_cancel">取 消</el-button>
      <el-button type="primary" @click="save">保 存</el-button>
  </span>

  <el-dialog :visible="dialogVisible"></el-dialog>

<!-- element-plus -->
  <template #footer>
      <span class="dialog-footer">
          <el-button @click="_cancel">取 消</el-button>
          <el-button type="primary" @click="save">确 定</el-button>
      </span>
  </template>
  <el-dialog v-model="dialogVisible"></el-dialog>

elementui中的dialog有 :visible.sync属性 可进行父子组件之间双向绑定vue2写法
具体的写法为:

//子组件
<el-dialog
:visible.sync="isShow">
</el-dialog>

需要computed中进行告知操作

computed: {
    isShow: {
      get () {
        return this.visible;
      },
      set (val) {
        this.$emit('update:visible', val);
      }
    }
}

props传值时候

 props:{
    //控制弹窗展示隐藏
    visible:{
      type:Boolean,
      default:false
    }
 }

vue3中 的写法为

<el-dialog 
:model-value="visible"
:before-close="handleClose">//要用:model-value不用v-model v-model报错有坑
</el-dialog>

props接受父组件传来的值

  props: {
    visible: {
      type: Boolean,
      default: false
    }
 }

setup

setup(props,context){
	const methods = {
		handleClose(){
			context.emit('update:visible', false)
		}
	}
}

el-button

<!-- element -->
   <el-button type="text" @click="rowAdd(scope)">新增</el-button>
<!-- element-plus -->
   <el-button type="primary" link @click="rowAdd(scope)">新增</el-button>

el-datepicker

  <!-- element -->
  <el-date-picker 
  class="delay-times-picker dia-ipts" 
  v-model="ruleForm.releaseTime" 
  :picker-options="pickerBeginDateBefore" 
  default-time="00:00:00" 
  type="datetime" 
  value-format="yyyy-MM-dd HH:mm:ss" 
  placeholder="请选择发布时间">
  </el-date-picker>
  <!-- element-plus -->
  <el-date-picker 
  v-model="ruleForm.releaseTime" 
  :disabled-date="pickerBeginDateBefore" 
  :default-time="new Date(0,0,0,0,0,0)" 
  type="datetime" 
  value-format="YYYY-MM-DD HH:mm:ss" 
  placeholder="请选择发布时间">
  </el-date-picker>

el-icon

<!-- element -->
<i class="el-icon-edit"></i>
<!-- element-plus -->
<el-icon><component is="el-icon-edit" /></el-icon>

echarts

//引入
<!-- v2 -->
import echarts from 'echarts'
this.chart = echarts.init(document.getElementById('echarts-wrap'));
<!-- v3 -->
import * as echarts from 'echarts';
let chart = echarts.init(document.getElementById('echarts-wrap'));

不用响应变量获取echarts元素: 因为前者切换legend时会报错

Icon图标库变化了

版本图标库使用方式

<template>
  <div>
    <el-icon :size="size" :color="color">
      <edit></edit>
    </el-icon>
    <!-- Or use it independently without derive attributes from parent -->
    <edit></edit>
<el-icon><copy-document /></el-icon>
  </div>
</template>

组件的插槽slot使用变化了

同时可支持多个插槽
在这里插入图片描述

<el-autocomplete popper-class="my-autocomplete" v-model="state" :fetch-suggestions="querySearch" placeholder="请输入内容" @select="handleSelect" >
 <template #suffix>
 <i class="el-icon-edit el-input__icon" @click="handleIconClick"> </i> 
 </template>
 <template #default="{ item }">
 <div class="name">{{ item.value }}</div>
 <span class="addr">{{ item.address }}</span>
 </template>
 </el-autocomplete>

新增组件

来源

Element-ui和Element-Plus的区别_Element2和Element3的区别
关于element-plus(vue3)和element-ui(vue2)两个ui框架的不同和使用区别(持续更新)
element和element-plus使用区别

原文地址:https://blog.csdn.net/weixin_44231544/article/details/131344856

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_37776.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注