element 订阅
Element是一份基于Ubuntu的发行,它面向家庭影院或媒体中心式的个人电脑,这类电脑可拥有十英尺大的用户屏幕并被设计为连接到高清晰度电视, 以获取一份数字媒体和因特网体验,而这种体验可以在客厅或娱乐场所舒适地获得。Element预加载有大量应用程序,它们使得用户能收听、收看和管理音 。 展开全文
Element是一份基于Ubuntu的发行,它面向家庭影院或媒体中心式的个人电脑,这类电脑可拥有十英尺大的用户屏幕并被设计为连接到高清晰度电视, 以获取一份数字媒体和因特网体验,而这种体验可以在客厅或娱乐场所舒适地获得。Element预加载有大量应用程序,它们使得用户能收听、收看和管理音 。
信息
类    型
个人电脑
特    点
十英尺大的用户屏幕
基    础
Ubuntu
外文名
elemeNt
elemeNt版本发布
2010年03月28日,Element 1.1 发布。 [1]  2010年05月17日,Element 1.2 发布。 [2]  2010年07月03日,Element 1.3 发。 [3]  2010年09月02日,Linux 发行版 Element 1.4 发布。 [4] 
收起全文
精华内容
下载资源
问答
  • vue-element-admin项目打包后,生产环境再chrome浏览器下偶尔存在element-ui中的icon乱码 在将vue-element-admin或者vue-element-template打包发布到生产环境后,在chrome浏览器中刷新时,偶尔存在element-ui的icon...

    vue-element-admin项目打包后,生产环境再chrome浏览器下偶尔存在element-ui中的icon乱码

    在将vue-element-admin或者vue-element-template打包发布到生产环境后,在chrome浏览器中刷新时,偶尔存在element-ui的icon出现乱码。F12查看乱码的icon元素,发现.el-icon-close:before { content: "□"},同时html界面通过link标签引入的css文件都未被浏览器正常加载。非乱码情况下,icon元素也为.el-icon-close:before { content: "□"},但是css文件是正常加载的。这就超出知识范畴了。百度,就决定是你了~~

    其实,改问题再issues中提出有一段时间了,现有的解决方案是将dart-sass替换为node-sass。那就得继续用回node-sass,真让人头大~~

    npm uninstall sass
    npm install node-sass --save-dev
    

    不想继续使用node-sass,只能想其他方法,终于在issues找到了解决方案。该方法是将src/styles/element-variables.scss文件下@import "~element-ui/packages/theme-chalk/src/index.scss全量引入修改为按需引入(除了icon.scss),如下:

    // @import "~element-ui/packages/theme-chalk/src/index.scss
    @import "~element-ui/packages/theme-chalk/src/pagination.scss";
    @import "~element-ui/packages/theme-chalk/src/dialog.scss";
    @import "~element-ui/packages/theme-chalk/src/autocomplete.scss";
    @import "~element-ui/packages/theme-chalk/src/dropdown.scss";
    @import "~element-ui/packages/theme-chalk/src/dropdown-menu.scss";
    @import "~element-ui/packages/theme-chalk/src/dropdown-item.scss";
    @import "~element-ui/packages/theme-chalk/src/menu.scss";
    @import "~element-ui/packages/theme-chalk/src/submenu.scss";
    @import "~element-ui/packages/theme-chalk/src/menu-item.scss";
    @import "~element-ui/packages/theme-chalk/src/menu-item-group.scss";
    @import "~element-ui/packages/theme-chalk/src/input.scss";
    @import "~element-ui/packages/theme-chalk/src/input-number.scss";
    @import "~element-ui/packages/theme-chalk/src/radio.scss";
    @import "~element-ui/packages/theme-chalk/src/radio-group.scss";
    @import "~element-ui/packages/theme-chalk/src/radio-button.scss";
    @import "~element-ui/packages/theme-chalk/src/checkbox.scss";
    @import "~element-ui/packages/theme-chalk/src/checkbox-button.scss";
    @import "~element-ui/packages/theme-chalk/src/checkbox-group.scss";
    @import "~element-ui/packages/theme-chalk/src/switch.scss";
    @import "~element-ui/packages/theme-chalk/src/select.scss";
    @import "~element-ui/packages/theme-chalk/src/button.scss";
    @import "~element-ui/packages/theme-chalk/src/button-group.scss";
    @import "~element-ui/packages/theme-chalk/src/table.scss";
    @import "~element-ui/packages/theme-chalk/src/table-column.scss";
    @import "~element-ui/packages/theme-chalk/src/date-picker.scss";
    @import "~element-ui/packages/theme-chalk/src/time-select.scss";
    @import "~element-ui/packages/theme-chalk/src/time-picker.scss";
    @import "~element-ui/packages/theme-chalk/src/popover.scss";
    @import "~element-ui/packages/theme-chalk/src/tooltip.scss";
    @import "~element-ui/packages/theme-chalk/src/message-box.scss";
    @import "~element-ui/packages/theme-chalk/src/breadcrumb.scss";
    @import "~element-ui/packages/theme-chalk/src/breadcrumb-item.scss";
    @import "~element-ui/packages/theme-chalk/src/form.scss";
    @import "~element-ui/packages/theme-chalk/src/form-item.scss";
    @import "~element-ui/packages/theme-chalk/src/tabs.scss";
    @import "~element-ui/packages/theme-chalk/src/tab-pane.scss";
    @import "~element-ui/packages/theme-chalk/src/tag.scss";
    @import "~element-ui/packages/theme-chalk/src/tree.scss";
    @import "~element-ui/packages/theme-chalk/src/alert.scss";
    @import "~element-ui/packages/theme-chalk/src/notification.scss";
    @import "~element-ui/packages/theme-chalk/src/slider.scss";
    @import "~element-ui/packages/theme-chalk/src/loading.scss";
    @import "~element-ui/packages/theme-chalk/src/row.scss";
    @import "~element-ui/packages/theme-chalk/src/col.scss";
    @import "~element-ui/packages/theme-chalk/src/upload.scss";
    @import "~element-ui/packages/theme-chalk/src/progress.scss";
    @import "~element-ui/packages/theme-chalk/src/spinner.scss";
    @import "~element-ui/packages/theme-chalk/src/message.scss";
    @import "~element-ui/packages/theme-chalk/src/badge.scss";
    @import "~element-ui/packages/theme-chalk/src/card.scss";
    @import "~element-ui/packages/theme-chalk/src/rate.scss";
    @import "~element-ui/packages/theme-chalk/src/steps.scss";
    @import "~element-ui/packages/theme-chalk/src/step.scss";
    @import "~element-ui/packages/theme-chalk/src/carousel.scss";
    @import "~element-ui/packages/theme-chalk/src/scrollbar.scss";
    @import "~element-ui/packages/theme-chalk/src/carousel-item.scss";
    @import "~element-ui/packages/theme-chalk/src/collapse.scss";
    @import "~element-ui/packages/theme-chalk/src/collapse-item.scss";
    @import "~element-ui/packages/theme-chalk/src/cascader.scss";
    @import "~element-ui/packages/theme-chalk/src/color-picker.scss";
    @import "~element-ui/packages/theme-chalk/src/transfer.scss";
    @import "~element-ui/packages/theme-chalk/src/container.scss";
    @import "~element-ui/packages/theme-chalk/src/header.scss";
    @import "~element-ui/packages/theme-chalk/src/aside.scss";
    @import "~element-ui/packages/theme-chalk/src/main.scss";
    @import "~element-ui/packages/theme-chalk/src/footer.scss";
    @import "~element-ui/packages/theme-chalk/src/timeline.scss";
    @import "~element-ui/packages/theme-chalk/src/timeline-item.scss";
    @import "~element-ui/packages/theme-chalk/src/link.scss";
    @import "~element-ui/packages/theme-chalk/src/divider.scss";
    @import "~element-ui/packages/theme-chalk/src/image.scss";
    @import "~element-ui/packages/theme-chalk/src/calendar.scss";
    @import "~element-ui/packages/theme-chalk/src/backtop.scss";
    @import "~element-ui/packages/theme-chalk/src/infinite-scroll.scss";
    @import "~element-ui/packages/theme-chalk/src/page-header.scss";
    @import "~element-ui/packages/theme-chalk/src/cascader-panel.scss";
    @import "~element-ui/packages/theme-chalk/src/avatar.scss";
    @import "~element-ui/packages/theme-chalk/src/drawer.scss";
    @import "~element-ui/packages/theme-chalk/src/popconfirm.scss";
    

    替换后再次build发布到生产环境,app.xxxxxxxx.css不会再引入element-ui中的icon部分,只有element-ui本身的.el-icon-plus:before { content: "\e6d9";},也就不存在icon乱码的问题了。

    原理分析

    • 为什么浏览器会不加载link的css文件
    • 为什么当成功加载css文件时不乱码,未加载css文件时会乱码

    上述两个问题一直没有找到答案,只能当做浏览器自身问题了(锅来~)。而当成功加载css文件时,html中打包生成的js函数应该有dart-sass解析部分,因此能够正常显示icon(不明所以猜想)。其中,vue-element-admin源码是采用dart-sass编译sass,而element-ui目前还是采用node-sass编译sass。两者可能存在冲突。上述的解决思路其实就是vue-element-admin自定义element-ui全局样式时,不引人icon相关部分,直接使用element-ui自身的icon变量。

    展开全文
  • vue3.0中使用element

    千次阅读 多人点赞 2021-03-01 13:59:59
    在vue3.0中使用element框架,因为element是支持vue2.0的,他推出的支持vue3.0的版本叫element-plus 目录: 官网入口:点我进入 一、个人遇到的问题与解决办法: 遇到的问题: 我直接用cnpm ielement-plus-S ...

    前言:

          在vue3.0中使用element框架,因为element是支持vue2.0的,他推出的支持vue3.0的版本叫 element-plus

    目录:

    官网入口:点我进入

    一、个人遇到的问题与解决办法:

    遇到的问题:

      我直接用cnpm  i element-plus -S 装的版本,不知道为啥,一直报错 图1,版本型号 图2 ,我的代码中使用图3

    ​图1

    ​图2

    ​图3

    解决办法:

    我把package.json中的element-plus的版本更换成    下面这句话,解决了问题(是否为最新版本问题,还在求证中)

     "element-plus": "^1.0.1-alpha.19",

    二、具体使用

    1、全局引入:

    安装 cnpm i  element-plus -S

    main.js中加入:

    页面上正常使用

    2、按需引入:

    (1)安装 cnpm i  element-plus -S

    (2)新加文件夹 plugins ,新建配置文件 element.js

    (3)main.js中配置

    (4)跟element一样正常使用就可以了

    到此结束


    官网入口:点我进入

    一、个人遇到的问题与解决办法:

    遇到的问题:

      我直接用cnpm  i element-plus -S 装的版本,不知道为啥,一直报错 图1,版本型号 图2 ,我的代码中使用图3

    图1

    图2

    图3

    解决办法:

    我把package.json中的element-plus的版本更换成    下面这句话,解决了问题(有可能是因为我这个项目是最早之前2.0升级到3.0的,而不是最新的直接安装3.0导致的问题)

     "element-plus": "^1.0.1-alpha.19",

    二、具体使用

    1、全局引入:

    • 安装 cnpm i  element-plus -S

    • main.js中加入:

    import 'element-plus/lib/theme-chalk/index.css'
    import ElementPlus from 'element-plus'
    
    const app = createApp(App)
    app.use(ElementPlus)
    app.use(store).use(router).mount('#app')
    • 页面上正常使用

    2、按需引入:

    (1)安装 cnpm i  element-plus -S

    (2)新加文件夹 plugins ,新建配置文件 element.js

    element.js:

    import {
      // ElAlert,
      ElAside,
      // ElAutocomplete,
      // ElAvatar,
      // ElBacktop,
      // ElBadge,
      // ElBreadcrumb,
      // ElBreadcrumbItem,
      ElButton,
      // ElButtonGroup,
      // ElCalendar,
      // ElCard,
      // ElCarousel,
      // ElCarouselItem,
      // ElCascader,
      // ElCascaderPanel,
      // ElCheckbox,
      // ElCheckboxButton,
      // ElCheckboxGroup,
      // ElCol,
      // ElCollapse,
      // ElCollapseItem,
      // ElCollapseTransition,
      // ElColorPicker,
      ElContainer,
      // ElDatePicker,
      // ElDialog,
      // ElDivider,
      // ElDrawer,
      ElDropdown,
      ElDropdownItem,
      ElDropdownMenu,
      // ElFooter,
      ElForm,
      ElFormItem,
      ElHeader,
      // ElIcon,
      // ElImage,
      ElInput,
      // ElInputNumber,
      // ElLink,
      ElMain,
      ElMenu,
      ElMenuItem,
      ElMenuItemGroup,
      // ElOption,
      // ElOptionGroup,
      // ElPageHeader,
      // ElPagination,
      ElPopconfirm,
      // ElPopover,
      ElPopper,
      // ElProgress,
      // ElRadio,
      // ElRadioButton,
      // ElRadioGroup,
      // ElRate,
      // ElRow,
      // ElScrollBar,
      // ElSelect,
      // ElSlider,
      // ElStep,
      // ElSteps,
      ElSubmenu,
      // ElSwitch,
      ElTabPane,
      ElTabs,
      // ElTable,
      // ElTableColumn,
      // ElTimeline,
      // ElTimelineItem,
      ElTooltip,
      // ElTransfer,
      // ElTree,
      // ElUpload,
      // ElInfiniteScroll,
      // ElLoading,
      // ElMessage,
      ElMessageBox,
      ElNotification
    } from 'element-plus'
    import lang from 'element-plus/lib/locale/lang/zh-cn'
    import locale from 'element-plus/lib/locale'
    
    export default (app) => {
      locale.use(lang)
      app.use(ElButton)
      app.use(ElNotification)
      app.use(ElContainer)
      app.use(ElAside)
      app.use(ElHeader)
      app.use(ElMain)
      app.use(ElDropdown)
      app.use(ElDropdownItem)
      app.use(ElDropdownMenu)
      app.use(ElTabPane)
      app.use(ElTabs)
      app.use(ElMenu)
      app.use(ElMenuItem)
      app.use(ElMenuItemGroup)
      app.use(ElSubmenu)
      app.use(ElTooltip)
      app.use(ElPopper)
      app.use(ElPopconfirm)
      app.use(ElMessageBox)
      app.use(ElInput)
      app.use(ElForm)
      app.use(ElFormItem)
    }
    

    (3)main.js中配置

    import installElementPlus from './plugins/element.js'
    import 'element-plus/lib/theme-chalk/index.css'
    
    const app = createApp(App)
    installElementPlus(app)
    app.use(store).use(router).mount('#app')

    (4)跟element一样正常使用就可以了

    到此结束

     

    展开全文
  • element-ui 实现行合并

    万次阅读 多人点赞 2018-08-31 15:32:27
    OrderObj[element.operate_number].push(index) } else { OrderObj[element.operate_number] = [] OrderObj[element.operate_number].push(index) } }) // 将数组长度大于1的值 存储到 this . ...

    目标样式:

    这里写图片描述

    首先先来看下我们拿到的返回数据:

    tableData: [
            {
              productType: "纺织品",
              price: 123,
              productName: '男装上衣',
              amount: 20,
              operate_number: "20180831142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小吴"
            },{
              productType: "纺织品",
              price: 123,
              productName: '男装裤子',
              amount: 20,
              operate_number: "20180831142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小吴"
            },{
              productType: "饮料",
              price: 123,
              productName: '康师傅冰红茶',
              amount: 20,
              operate_number: "20180823142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小吴"
            },{
              productType: "纺织品",
              price: 223,
              productName: '男装裤子',
              amount: 10,
              operate_number: "20180821142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小王"
            },{
              productType: "绸缎",
              price: 888,
              productName: '旗袍',
              amount: 200,
              operate_number: "20180821142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小吴"
            },{
              productType: "绸缎",
              price: 123,
              productName: '席子',
              amount: 20,
              operate_number: "20180821142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小吴"
            },
          ]
    

    我们需要将返回的数据按照该字段(operate_number)进行处理。—— 将相同operate_number的信息的索引进行对应存储。

    getOrderNumber() {
            let OrderObj = {}
            this.tableData.forEach((element, index) => {
                element.rowIndex = index
                if (OrderObj[element.operate_number]) {
                  OrderObj[element.operate_number].push(index)
                } else {
                  OrderObj[element.operate_number] = []
                  OrderObj[element.operate_number].push(index)
                }
            })
    
            // 将数组长度大于1的值 存储到this.OrderIndexArr(也就是需要合并的项)
            for (let k in OrderObj) {
              if (OrderObj[k].length > 1) {
                this.OrderIndexArr.push(OrderObj[k])
              }
            }
          },
    

    然后根据我们页面展示需要, 控制哪一些列上的数据是需要进行展示的。

     // 合并单元格
          objectSpanMethod({row,column,rowIndex,columnIndex}) {
            if (columnIndex === 0 || columnIndex === 3 || columnIndex === 4) {
              for (let i = 0; i < this.OrderIndexArr.length; i++) {
                let element = this.OrderIndexArr[i]
                for (let j = 0; j < element.length; j++) {
                  let item = element[j]
                  if (rowIndex == item) {
                    if (j == 0) {
                      return {
                        rowspan: element.length,
                        colspan: 1
                      }
                    } else if (j != 0) {
                      return {
                        rowspan: 0,
                        colspan: 0
                      }
                    }
                  }
                }
              }
            }
          },
    

    经过上述操作之后我们就能成功的绘制出如图所需要的效果了。##完整代码后面附上##

    存在问题

    不过这样的话会存在一个显示问题。就是当我们的鼠标滑过的时候,显示效果不佳,如下图所示:

    这里写图片描述

    合并后的一行数据,滑过的时候效果就不对了,接下来我们就来解决一下这个问题,让效果能达到如下图所示:

    这里写图片描述

    关键词##: cell-mouse-enter cell-mouse-leave cell-class-name

    通过触发鼠标划入,划出的时候单元格的样式:

    // 单元格样式
    tableRowClassName({row,rowIndex}) {
            let arr = this.hoverOrderArr
            for (let i = 0; i < arr.length; i++) {
              if (rowIndex == arr[i]) {
                return 'hovered-row'
              }
            }
          },
    
    // 鼠标划入,划出效果
    
    cellMouseEnter(row, column, cell, event) {
            this.rowIndex = row.rowIndex;
            this.hoverOrderArr = [];
            this.OrderIndexArr.forEach(element => {
                if (element.indexOf(this.rowIndex) >= 0) {
                  this.hoverOrderArr = element
                }
            })
          },
    
    cellMouseLeave(row, column, cell, event) {
            this.rowIndex = '-1'
            this.hoverOrderArr = [];
          }
    

    附上完整代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>element-ui实现合并单元格效果</title>
      <link href="https://unpkg.com/element-ui/lib/theme-chalk/index.css" rel="stylesheet">
      <style>
        .el-table .hovered-row {
          background: #f5f7fa;
        }
      </style>
    </head>
    
    <body>
      <div id="app">
          <el-table ref="multipleTable" border :span-method="objectSpanMethod" :cell-class-name="tableRowClassName"
            @cell-mouse-leave="cellMouseLeave"  @cell-mouse-enter="cellMouseEnter" :data="tableData" style="width: 80%;margin:0 auto;">
            <el-table-column label="商品类别" align="center">
              <template slot-scope="scope" width="160">
                  <div>{{scope.row.productType}}</div>
              </template>
            </el-table-column>
            <el-table-column label="商品价格" align="center">
              <template slot-scope="scope">
                <p>{{scope.row.price}}</p>
              </template>
            </el-table-column>
            <el-table-column label="商品名称" width="180px" align="center">
              <template slot-scope="scope">
                <p>{{scope.row.productName}}</p>
              </template>
            </el-table-column>
            <el-table-column label="操作人员" align="center">
              <template slot-scope="scope">
                <p>{{scope.row.operator}}</p>
              </template>
            </el-table-column>
            <el-table-column prop="updateTime" label="更新时间" align="center">
            </el-table-column>
          </el-table>
      </div>
    </body>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
    <script>
      new Vue({
        el: '#app',
        data: {
          tableData: [
            {
              productType: "纺织品",
              price: 123,
              productName: '男装上衣',
              amount: 20,
              operate_number: "20180831142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小吴"
            },{
              productType: "纺织品",
              price: 123,
              productName: '男装裤子',
              amount: 20,
              operate_number: "20180831142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小吴"
            },{
              productType: "饮料",
              price: 123,
              productName: '康师傅冰红茶',
              amount: 20,
              operate_number: "20180823142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小吴"
            },{
              productType: "纺织品",
              price: 223,
              productName: '男装裤子',
              amount: 10,
              operate_number: "20180821142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小王"
            },{
              productType: "绸缎",
              price: 888,
              productName: '旗袍',
              amount: 200,
              operate_number: "20180821142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小吴"
            },{
              productType: "绸缎",
              price: 123,
              productName: '席子',
              amount: 20,
              operate_number: "20180821142020",
              price: "36.00",
              updateTime: "2018-08-31",
              operator: "小吴"
            },
          ],
          rowIndex: '-1',
          OrderIndexArr: [],
          hoverOrderArr: []
        },
        mounted() {
          this.getOrderNumber()
        },
        methods: {
          // 获取相同编号的数组
          getOrderNumber() {
            let OrderObj = {}
            this.tableData.forEach((element, index) => {
                element.rowIndex = index
                if (OrderObj[element.operate_number]) {
                  OrderObj[element.operate_number].push(index)
                } else {
                  OrderObj[element.operate_number] = []
                  OrderObj[element.operate_number].push(index)
                }
            })
    
            // 将数组长度大于1的值 存储到this.OrderIndexArr(也就是需要合并的项)
            for (let k in OrderObj) {
              if (OrderObj[k].length > 1) {
                this.OrderIndexArr.push(OrderObj[k])
              }
            }
          },
    
    
          // 合并单元格
          objectSpanMethod({row,column,rowIndex,columnIndex}) {
            if (columnIndex === 0 || columnIndex === 3 || columnIndex === 4) {
              for (let i = 0; i < this.OrderIndexArr.length; i++) {
                let element = this.OrderIndexArr[i]
                for (let j = 0; j < element.length; j++) {
                  let item = element[j]
                  if (rowIndex == item) {
                    if (j == 0) {
                      return {
                        rowspan: element.length,
                        colspan: 1
                      }
                    } else if (j != 0) {
                      return {
                        rowspan: 0,
                        colspan: 0
                      }
                    }
                  }
                }
              }
            }
          },
    
    
          tableRowClassName({row,rowIndex}) {
            let arr = this.hoverOrderArr
            for (let i = 0; i < arr.length; i++) {
              if (rowIndex == arr[i]) {
                return 'hovered-row'
              }
            }
          },
    
    
          cellMouseEnter(row, column, cell, event) {
            this.rowIndex = row.rowIndex;
            this.hoverOrderArr = [];
            this.OrderIndexArr.forEach(element => {
                if (element.indexOf(this.rowIndex) >= 0) {
                  this.hoverOrderArr = element
                }
            })
          },
    
          cellMouseLeave(row, column, cell, event) {
            this.rowIndex = '-1'
            this.hoverOrderArr = [];
          }
        }
      })
    </script>
    
    
    </html>
    
    

    参考

    element-ui table :span-method(行合并)

    展开全文
  • Element-ui和vue-element-admin学习

    千次阅读 2020-05-27 00:23:05
    Element-ui 什么是Element-ui? 根据官网的说法,Element-ui,是一套为开发者、设计师和产品经理准备的基于Vue 2.0的由饿了么公司出品的桌面端组件库。 官网:https://element.eleme.cn/#/zh-CN 如何使用? 1、...

    Element-ui

    什么是Element-ui?

    根据官网的说法,Element-ui,是一套为开发者、设计师和产品经理准备的基于Vue 2.0的由饿了么公司出品的桌面端组件库。
    官网:https://element.eleme.cn/#/zh-CN
    Element-ui官网

    如何使用?

    1、创建文件夹element-ui。
    2、下载组件。

    npm install vue #安装Vue
    npm i element-ui -S #安装Element-ui
    

    3、为了代码更加清爽,可以将主要依赖vue.min.js和element-ui包放入lib目录中,lib目录需手动创建。
    lib目录结构
    4、搭建第一个UI界面入门程序。

    <!DOCTYPE html>
    <html>
    
    <head>
      <meta charset="UTF-8">
      <!-- import CSS -->
      <link rel="stylesheet" href="./lib/element-ui/lib/theme-chalk/index.css">
    </head>
    
    <body>
      <div id="app">
        <!-- 所有的el-开头的标签都是elementui的组件! -->
        <el-button @click="visible = true">Button</el-button>
        <el-dialog :visible.sync="visible" title="Hello world">
          <p>Try Element</p>
        </el-dialog>
      </div>
    </body>
    <!-- import Vue before Element -->
    <script src="./lib/vue.min.js"></script>
    <!-- import JavaScript -->
    <script src="./lib/element-ui/lib/index.js"></script>
    
    <script>
      new Vue({
        el: '#app',
        data: function () {
          return { visible: false }
        }
      })
    </script>
    
    </html>
    

    官网基本组件测试

    1、容器,拿来即用即可。
    2、图标,el内置了许多图标,使用icon="iconname"属性即可使用,也推荐使用https://fontawesome.dashgame.com/这个网站中的图标。

    <el-button @click="visible = true" icon="el-icon-search">Button</el-button>
    

    图标集合
    3、对于后台程序员来说,大部分情况下都是在对表单进行操作。el几乎内置了开发中会使用的所有表单组件。
    表单组件

    前端怎么写?

    对于一些后台开发人员来说,可能会存在开发一个项目不知道怎么开始第一步的问题,其原因大概是:

    • 没有清晰的界面定义。
    • 不会设计数据库。

    对于第一个问题,Element-ui组件可以直接套用,我们平时可以多去看看其他网站如何设计,借鉴学习。至于第二个问题,其实也是因为第一个问题没解决,当我们把前端写好之后,数据库的结构自然就出来了。解决了这两个问题,剩下的就是后台的CRUD了,这是我们最熟悉的部分。
    编写前端的基本套路:

    • 见过足够多的组件,拼接组件,这样就形成了网页的基本形状。
    • 修改CSS即可。

    设计多级下拉菜单的联动效果

    如下图所示,现在要实现第一个下拉框选择不同的选项时,第二个下拉框中的下拉选项也要随之发生变化的效果,这时可以使用级联选择器(cascader)来实现。
    级联选择器

    <div class="block">
      <span class="demonstration">默认 click 触发子菜单</span>
      <el-cascader
        v-model="value"
        :options="options"
        @change="handleChange"></el-cascader>
    </div>
    <div class="block">
      <span class="demonstration">hover 触发子菜单</span>
      <el-cascader
        v-model="value"
        :options="options"
        :props="{ expandTrigger: 'hover' }"
        @change="handleChange"></el-cascader>
    </div>
    
    <script>
      export default {
        data() {
          return {
            value: [],
            options: [{
              value: 'zhinan',
              label: '指南',
              children: [{
                value: 'shejiyuanze',
                label: '设计原则',
                children: [{
                  value: 'yizhi',
                  label: '一致'
                }, {
                  value: 'fankui',
                  label: '反馈'
                }, {
                  value: 'xiaolv',
                  label: '效率'
                }, {
                  value: 'kekong',
                  label: '可控'
                }]
              }, {
                value: 'daohang',
                label: '导航',
                children: [{
                  value: 'cexiangdaohang',
                  label: '侧向导航'
                }, {
                  value: 'dingbudaohang',
                  label: '顶部导航'
                }]
              }]
            }
      }
    

    所有的前端弹窗建议都使用layer组件来实现。

    vue-element-admin

    什么是vue-element-admin?

    vue-element-admin是一款基于Vue和Element-ui的后台管理的集成解决方案(60%的前后端分离项目都使用它)。
    官网:https://panjiachen.github.io/vue-element-admin-site/zh/
    vue-element-admin官网

    如何分析一个前端项目?

    1、查看config、index.js,了解项目的基本配置。
    2、查看main.js,了解导入了哪些组件。
    3、查看路由配置文件index.js,寻找到所有的页面组件。
    4、分析页面组件,准备的组件化操作:template/script/style。

    如何安装?

    官网建议我们使用淘宝镜像来安装依赖,否则可能会下载非常慢。

    # 克隆项目
    git clone https://github.com/PanJiaChen/vue-element-admin.git
    
    # 进入项目目录
    cd vue-element-admin
    
    # 安装依赖
    npm install
    
    # 建议不要用 cnpm 安装 会有各种诡异的bug 可以通过如下操作解决 npm 下载速度慢的问题
    npm install --registry=https://registry.npm.taobao.org
    
    # 本地开发 启动项目
    npm run dev
    

    使用方法

    1、vue-element-admin是一个完整的后台脚手架,在平时开发的时候,把它当成一个工具库来使用,需要什么组件我们拿来使用即可。
    2、推荐使用vue-admin-template来进行开发。
    3、开发的步骤大概可以分为:

    • 编写自己的组件。
    • 注册路由。
    • 和后台API进行通信和传输数据。
    展开全文
  • Element-UI - Vue项目整合Element-UI & Icon图标 & 自定义Icon图标 博主很久之前就想使用Element-UI,总是因为学习后端的技术鸽了很久(博主目前是偏后端),这里博主通过Vue来整合Element-UI(不是Vue项目...
  • Element-UI详解

    万次阅读 多人点赞 2019-11-06 09:00:58
    Element-UI Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库 Element UI是基于Vue 2.0的 Element UI 提供一组组件 Element UI 提供组件的参考实例, 直接复制 安装...
  • SeleniumWebDriver之FindElement和FindElements

    千次阅读 2019-09-08 23:09:17
    为什么需要Find Element/s命令? 与Web页面的交互需要用户定位Web元素。FindElement命令用于唯一地标识页面中的(单个)Web元素。然而,FindElements命令用于唯一地标识页面中的Web元素列表。 有多种方法可以标识页面中...
  • YDOOK:vue3.0: vue-cli4.5: 引入 Element PLUS 的正确方法 Vue-cli4.5 引入 element+ plus 1. 官网的指导安装使用方式尚未更新,显示的是: 2. 如果使用的是 npm 安装, 输入的代码为: npm install element-plus ...
  • 效果
  • Element 官方宣布了:Element UI for Vue 3.0 来了!

    千次阅读 多人点赞 2020-12-01 13:00:58
    Element Plus for Vue 3.0 来了,这次真的来了!Element 开发团队宣布正式发布 Element Plus 的首个 beta 版本,Element Plus 是...
  • element-ui(plus) 按需加载和自定义主题

    千次阅读 2021-01-11 10:41:31
    这里以element-plus为例,element-ui同理 我这里使用的是element-plus官网中自定义主题的第二种 - 在项目中改变 SCSS 变量 按需引入组件可查看官网 基本上按着官网的教程走就可以实现 我这里贴上我的代码 // babel....
  • vue-element-admin 使用过程中踩坑

    千次阅读 2019-11-15 14:47:35
    vue-element-admin文档: https://panjiachen.gitee.io/vue-element-admin-site/zh/guide/#%E5%89%8D%E5%BA%8F%E5%87%86%E5%A4%87 vue-element-admin源码: https://github.com/PanJiaChen/vue-element-admin 一...
  • Element
  • # 下载了vue-element-admin,在本地npm insatall后npm run dev后报错。删除node_modules后重置也不行 C:\Users\Le'novo\Desktop\project\vue-element-admin>npm run dev > vue-element-admin@4.4.0 dev C:\...
  • 1.安装element-plus (3种方式 ) npm install element-plus --save (推荐) yarn add element-plus pnpm install element-plus 2. 在main.js种引用 import 'element-plus/theme-chalk/index.css' //默认css...
  • 用vue的cli脚手架搭建了一个vue3项目(用的node-sass),使用element plus库,按照饿了么官方文档自定义主题操作后,发现项目报错如下: 感觉很神奇,当初vue2和element我就是这样类似操作的呀,都可以成功的嘛 ...
  • Element Plus 团队表示正在将原有组件内的 Font Icon 向 SVG Icon 迁移,正式版本Font Icon将被弃用,于是目标是对代码进行对应的更新,Font Icon换成SVG Icon。 文档:组件 | Element (element-plus.org) 注意:...
  • Element-UI安装使用教程(一)

    千次阅读 2020-06-27 14:27:16
    文章目录Element UI介绍入门安装引入 Element完整引入按需引入完整组件列表和引入方式全局配置完整引入 Element按需引入 Element Element UI介绍 Element-UI是什么? Element-Ul是饿了么前端团队推出的一款基于Vue....
  • element js 文件

    千次阅读 2019-10-01 19:20:05
    其实有时候不想用nodejs 只想单纯的使用 element 的ui控件这些就没必要 npm i element-ui -S 下载出所有的包来,看起来也很烦,使用他们的cdn 给我的感觉就是速度有些慢,icon图标的加载和渲染需要一点时间,这里把...
  • vue-element-admin配置讲解

    万次阅读 多人点赞 2020-03-17 14:53:24
    1. 项目初始化 git clone ...cd vue-element-admin npm install npm run dev 2. 项目精简 删除scr/views下的源码, 保留: dashboard:首页 error-page:异常页面 login:登录 redirect:重定向 ...
  • vue中使用element(菜鸟教程)

    千次阅读 热门讨论 2021-02-03 15:20:05
    在我们的vue项目中可供引入的框架是很多的,这里分享下在vue中使用element-ui的框架 element-ui官网入口 实现步骤: 一、引入element-ui 方法1:安装node包 cnpm ielement-ui --save 方法2:cdn引入 <...
  • element-ui 本地化使用教程

    万次阅读 2019-10-26 10:22:58
    element-ui 本地化使用 element-ui 下载脚本
  • 中文版本的vue-element-admin :https://github.com/PanJiaChen/vue-element-admin/tree/i18n
  • Vue+element图片上传

    万次阅读 2018-06-05 22:32:33
    // imgElement.setAttribute('style', 'max-width:100%;padding-left:0') // if (liA.lastElementChild.nodeName !== 'IMG') { // liA.appendChild(imgElement) // } } ) // 修改nameN名字对应的数据,...
  • 在引入 Element 时,可以传入一个全局配置对象。该对象目前支持 size 与 zIndex 字段。size 用于改变组件的默认尺寸,zIndex 设置弹框的初始 z-index(默认值:2000)。按照引入 Element 的方式,具体操作如下: ...
  • menu_jc = driver.find_element_by_xpath("//html/body/div/div/section/header/div/div[2]/div/div/ul/li[2]") menu_jc.click() 运行结果报错,如下图 原来是页面没加载完成导致,加上等待时间就正常了 记得...
  • vite引入element-plus修改主题色报错

    千次阅读 2021-01-11 09:33:28
    使用vite搭建vue3.0项目 全局安装vite # yarn yarn global add create-vite-app # npm npm global install create-vite-app 初始化vite项目 ...# 安装element-plus yarn add element-plus -D # 运行
  • vue+element入门,手把手教你怎么用element1.vue安装使用查看版本升级或安装 cnpm最新稳定版全局安装 vue-cli创建一个基于 webpack 模板的新项目这里需要进行一些配置,默认回车即可2.安装element-uinpm 安装3.使用...
  • Vue框架Element UI教程

    千次阅读 2019-09-12 16:25:01
    Vue框架Element UI教程-安装环境搭建(一). Vue框架Element UI教程-时间选择器(二). Vue框架Element UI教程-出现和隐藏动画(三). Vue框架Element UI教程-左侧导航栏(四). Vue框架Element UI教程-导航栏跳转...
  • layui——element模块

    千次阅读 2019-10-12 09:53:14
    对页面中一部分元素(tab、progress、nav、breadcrumb、collapse)的操作需要处理接口,layui统一放到element模块处理; 1 预设元素属性 我们通过自定义元素属性来作为元素的功能参数,他们一般配置在容器外层;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,218,283
精华内容 487,313
关键字:

element