欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

elementui使用

程序员文章站 2022-01-05 10:50:37
...

安装:

npm i element-ui -s

下载最新资源
下载相关文件

<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>

vue和element使用快速上手

1 在mian.ts中引入相关element

   import ElementUI from 'element-ui';
   import 'element-ui/lib/theme-chalk/index.css';
   Vue.use(ElementUI);

2 借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。

 npm install babel-plugin-component -D

然后,将 .babelrc 修改为:

{
  "presets": [["es2015", { "modules": false }]],
  "plugins": [
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}

接下来 使用方法:

import Vue from 'vue';
import { Button, Select } from 'element-ui';
import App from './App.vue';

Vue.component(Button.name, Button);
Vue.component(Select.name, Select);
/* 或写为
 * Vue.use(Button)
 * Vue.use(Select)
 */

new Vue({
  el: '#app',
  render: h => h(App)
});

Container布局

<el-container> 外部容器 如果页面包含<el-header>,<el-footer>页面将垂直排布,否则水平
<el-header>顶部容器  高度默认60px
<el-aside>侧边栏容器  宽度默认300px
<el-main>主要区域容器
<el-footer>底部容器   高度默认60px
以上组件使用flex布局,后4个得父级必须是 container

aside用法
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
    <el-menu :default-openeds="['1', '3']">
      <el-submenu index="1">
        <template slot="title"><i class="el-icon-message"></i>导航一</template>
        <el-menu-item-group>
          <template slot="title">分组一</template>
          <el-menu-item index="1-1">选项1</el-menu-item>
          <el-menu-item index="1-2">选项2</el-menu-item>
        </el-menu-item-group>
        <el-menu-item-group title="分组2">
          <el-menu-item index="1-3">选项3</el-menu-item>
        </el-menu-item-group>
        <el-submenu index="1-4">
          <template slot="title">选项4</template>
          <el-menu-item index="1-4-1">选项4-1</el-menu-item>
        </el-submenu>
      </el-submenu>
  </el-aside>

button

<el-button type="primary">默认按钮</el-button> 
<el-button type="primary" plain>朴素按钮</el-button>
 <el-button type="primary" round>圆角按钮</el-button>
 <el-button type="primary" icon="el-icon-edit" circle></el-button>圆形图标按钮
 <el-button type="text">文字按钮</el-button> 
 
 禁用状态 添加 disabled boolean值
 <el-button type="primary" plain disabled>主要按钮</el-button>
 
 <el-button type="primary" :loading="true">加载中</el-button> 显示加载状态
 
 按钮组
 <el-button-group>
  <el-button type="primary" icon="el-icon-arrow-left">上一页</el-button>
  <el-button type="primary">下一页<i class="el-icon-arrow-right el-icon--right"></i></el-button>
</el-button-group>

button大小控制
额外的尺寸:medium、small、mini,通过设置size属性来配置它们。
<el-button size="medium" round>中等按钮</el-button>

radio

<el-radio v-model="radio" label="1">备选项</el-radio>
<script>
  export default {
    data () {
      return {
        radio: '1'   选中得哪个
      };
    }
  }
</script>
添加disabled  即可成为不可点击得状态

互斥得必须有一个选中得元素
<el-radio-group v-model="radio2">
    <el-radio :label="3">备选项</el-radio>
    <el-radio :label="6">备选项</el-radio>
    <el-radio :label="9">备选项</el-radio>
  </el-radio-group>

单选得按钮组合
<el-radio-group v-model="radio4" size="medium">
      <el-radio-button label="上海" ></el-radio-button>
      <el-radio-button label="北京"></el-radio-button>
      <el-radio-button label="广州"></el-radio-button>
      <el-radio-button label="深圳"></el-radio-button>
    </el-radio-group>

有边框得radio
<el-radio v-model="radio8" label="1" border size="medium">备选项1</el-radio>

checkbox

<!-- `checked` 为 true 或 false -->
  <el-checkbox v-model="checked">备选项</el-checkbox>
  
<template>
  <el-checkbox-group v-model="checkList">
    <el-checkbox label="复选框 A"></el-checkbox>
    <el-checkbox label="复选框 B"></el-checkbox>
    <el-checkbox label="复选框 C"></el-checkbox>
    <el-checkbox label="禁用" disabled></el-checkbox>
    <el-checkbox label="选中且禁用" disabled></el-checkbox>
  </el-checkbox-group>
</template>

<script>
  export default {
    data () {
      return {
        checkList: ['选中且禁用','复选框 A']
      };
    }

是否全选
<template>
  <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
  <div style="margin: 15px 0;"></div>
  <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
    <el-checkbox v-for="city in cities" :label="city" :key="city">{{city}}</el-checkbox>
  </el-checkbox-group>
</template>
<script>
  const cityOptions = ['上海', '北京', '广州', '深圳'];
  export default {
    data() {
      return {
        checkAll: false,
        checkedCities: ['上海', '北京'],
        cities: cityOptions,
        isIndeterminate: true
      };
    },
    methods: {
      handleCheckAllChange(val) {
        this.checkedCities = val ? cityOptions : [];
        this.isIndeterminate = false;
      },
      handleCheckedCitiesChange(value) {
        let checkedCount = value.length;
        this.checkAll = checkedCount === this.cities.length;
        this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
      }
    }
  };
</script>

input

<el-input placeholder="请输入内容" v-model="input10" clearable></el-input>使用clearable属性即可得到一个可清空的输入框

可以通过 prefix-icon 和 suffix-icon 属性在 input 组件首部和尾部增加显示图标
属性方式 :
 <el-input placeholder="请选择日期" suffix-icon="el-icon-date" v-model="input2"></el-input>
 slot方式:
 <el-input  placeholder="请选择日期"  v-model="input22">
    <i slot="suffix" class="el-input__icon el-icon-date"></i>
  </el-input>
textarea
<el-input  type="textarea" autosize  placeholder="请输入内容"  v-model="textarea2"></el-input>

可通过 slot 来指定在 input 中前置或者后置内容。
<el-input placeholder="请输入内容" v-model="input3">
    <template slot="prepend">Http://</template>  前面
    <template slot="append">.com</template> 后面
  </el-input>

<el-input placeholder="请输入内容" v-model="input5" class="input-with-select">
    <el-select v-model="select" slot="prepend" placeholder="请选择">
      <el-option label="餐厅名" value="1"></el-option>
      <el-option label="订单号" value="2"></el-option>
      <el-option label="用户电话" value="3"></el-option>
    </el-select>
    <el-button slot="append" icon="el-icon-search"></el-button>
  </el-input>
  可通过 size 属性指定输入框的尺寸,除了默认的大小外,还提供了 large、small 和 mini 三种尺寸。

inputNumber 计数器

<el-input-number v-model="num1" @change="handleChange" :min="1" :max="10" label="描述文字"></el-input-number>
:precision="2" :step="0.1"   数值精度 增加的数
controls-position="right"控制按钮的位置

select

基础用法
<el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  为el-select设置multiple属性即可启用多选,此时v-model的值为当前选中值所组成的数组。默认情况下选中值会以 Tag 的形式展现,你也可以设置collapse-tags属性将它们合并为一段文字。
使用el-option-group对备选项进行分组,它的label属性为分组名
<el-select v-model="value7" placeholder="请选择">
    <el-option-group
      v-for="group in options3"
      :key="group.label"
      :label="group.label">
      <el-option
        v-for="item in group.options"
        :key="item.value"
        :label="item.label"
        :value="item.value">
      </el-option>
    </el-option-group>
  </el-select>

开关

<el-switch
  style="display: block"
  v-model="value4"
  active-color="#13ce66"
  inactive-color="#ff4949"
  active-text="按月付费"
  inactive-text="按年付费">
</el-switch>
相关标签: elementui