• 前端开发——ElementUI组件的使用


    1. Tabs标签页

    <template>
      <el-tabs v-model="activeName" @tab-click="handleClick">
        <el-tab-pane label="用户管理" name="first">用户管理el-tab-pane>
        <el-tab-pane label="配置管理" name="second">配置管理el-tab-pane>
        <el-tab-pane label="角色管理" name="third">角色管理el-tab-pane>
        <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿el-tab-pane>
      el-tabs>
    template>
    <script>
      export default {
        data() {
          return {
            activeName: 'first'
          };
        },
        methods: {
          handleClick(tab, event) {
            console.log(tab, event);
          }
        }
      };
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    v-model="activeName"

    • 具体来说,v-model 指令将 组件的当前激活状态(即当前显示的 )与 Vue 实例中的一个数据属性(在这个例子中是 activeName)进行了绑定。
    • 用户通过点击或其他交互方式改变 的激活状态时,activeName 的值会自动更新为相应标签页的 name 属性值。
    • 反过来,如果 Vue 实例中的 activeName 数据属性的值通过某种方式(如方法调用或计算属性更新)发生了变化, 组件的激活状态也会相应地更新,以显示与新的 activeName* 值对应的标签页。

    2. 单选框 el-radio

    <template>
      <el-radio-group v-model="radio">
        <el-radio :label="3">备选项el-radio>
        <el-radio :label="6">备选项el-radio>
        <el-radio :label="9">备选项el-radio>
      el-radio-group>
    template>
    
    <script>
      export default {
        data () {
          return {
            radio: 3
          };
        }
      }
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    v-model="radio"

    当用户点击其中一个**** 按钮时,v-model 会确保 radio 数据属性的值更新为所选按钮的 label 值。如果用户选择了 label 为 ‘2’ 的按钮,radio 的值将变为 ‘2’,反之亦然。这种双向绑定确保了 Vue 实例的数据和 DOM 状态始终保持同步。

    3. 复选框 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']
          };
        }
      };
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    4. 下拉框 el-select

    <template>
      <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>
    template>
    
    <script>
      export default {
        data() {
          return {
            options: [{
              value: '选项1',
              label: '黄金糕'
            }, {
              value: '选项2',
              label: '双皮奶'
            }, {
              value: '选项3',
              label: '蚵仔煎'
            }, {
              value: '选项4',
              label: '龙须面'
            }, {
              value: '选项5',
              label: '北京烤鸭'
            }],
            value: ''
          }
        }
      }
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    v-model="value"

    当用户从下拉选择框中选择一个选项时,data 的值将更新为所选项的 value。同样地,如果你在 Vue 实例中改变 data 的值,下拉选择框的选中项也会相应地更新。

    5. 表格 el-table

    在这里插入图片描述

    <template>
      <el-table
        :data="tableData"
        border
        style="width: 100%">
        <el-table-column
          prop="date"
          label="日期"
          width="180">
        el-table-column>
        <el-table-column
          prop="name"
          label="姓名"
          width="180">
        el-table-column>
        <el-table-column
          prop="address"
          label="地址">
        el-table-column>
      el-table>
    template>
    
    <script>
      export default {
        data() {
          return {
            tableData: [{
              date: '2016-05-02',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1518 弄'
            }, {
              date: '2016-05-04',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1517 弄'
            }, {
              date: '2016-05-01',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1519 弄'
            }, {
              date: '2016-05-03',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1516 弄'
            }]
          }
        }
      }
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    6. 对话框 el-dialog

    在这里插入图片描述

    <el-button type="text" @click="dialogVisible = true">点击打开 Dialogel-button>
    
    <el-dialog
      title="提示"
      :visible.sync="dialogVisible"
      width="30%"
      :before-close="handleClose">
      <span>这是一段信息span>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false">取 消el-button>
        <el-button type="primary" @click="dialogVisible = false">确 定el-button>
      span>
    el-dialog>
    
    <script>
      export default {
        data() {
          return {
            dialogVisible: false
          };
        },
        methods: {
          handleClose(done) {
            this.$confirm('确认关闭?')
              .then(_ => {
                done();
              })
              .catch(_ => {});
          }
        }
      };
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    7. 文字提示 el-tooltip

    在这里插入图片描述

    <el-tooltip placement="top">
      <div slot="content">提示信息div>
      <el-button>Top centerel-button>
    el-tooltip>
    
    • 1
    • 2
    • 3
    • 4

    8. 抽屉 el-drawer

    在这里插入图片描述

    <el-button type="text" @click="table = true">打开嵌套表格的 Drawerel-button>
    <el-button type="text" @click="dialog = true">打开嵌套 Form 的 Drawerel-button>
    <el-drawer
      title="我嵌套了表格!"
      :visible.sync="table"
      direction="rtl"
      size="50%">
       <el-table :data="gridData">
          <el-table-column property="date" label="日期" width="150">el-table-column>
          <el-table-column property="name" label="姓名" width="200">el-table-column>
          <el-table-column property="address" label="地址">el-table-column>
        el-table>
    el-drawer>
    
    <el-drawer
      title="我嵌套了 Form !"
      :before-close="handleClose"
      :visible.sync="dialog"
      direction="ltr"
      custom-class="demo-drawer"
      ref="drawer"
      >
      <div class="demo-drawer__content">
        <el-form :model="form">
          <el-form-item label="活动名称" :label-width="formLabelWidth">
            <el-input v-model="form.name" autocomplete="off">el-input>
          el-form-item>
          <el-form-item label="活动区域" :label-width="formLabelWidth">
            <el-select v-model="form.region" placeholder="请选择活动区域">
              <el-option label="区域一" value="shanghai">el-option>
              <el-option label="区域二" value="beijing">el-option>
            el-select>
          el-form-item>
        el-form>
        <div class="demo-drawer__footer">
          <el-button @click="cancelForm">取 消el-button>
          <el-button type="primary" @click="$refs.drawer.closeDrawer()" :loading="loading">{{ loading ? '提交中 ...' : '确 定' }}el-button>
        div>
      div>
    el-drawer>
    
    <script>
    export default {
      data() {
        return {
          table: false,
          dialog: false,
          loading: false,
          gridData: [{
            date: '2016-05-02',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1518 弄'
          }, {
            date: '2016-05-04',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1518 弄'
          }, {
            date: '2016-05-01',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1518 弄'
          }, {
            date: '2016-05-03',
            name: '王小虎',
            address: '上海市普陀区金沙江路 1518 弄'
          }],
          form: {
            name: '',
            region: '',
            date1: '',
            date2: '',
            delivery: false,
            type: [],
            resource: '',
            desc: ''
          },
          formLabelWidth: '80px',
          timer: null,
        };
      },
      methods: {
        handleClose(done) {
          if (this.loading) {
            return;
          }
          this.$confirm('确定要提交表单吗?')
            .then(_ => {
              this.loading = true;
              this.timer = setTimeout(() => {
                done();
                // 动画关闭需要一定的时间
                setTimeout(() => {
                  this.loading = false;
                }, 400);
              }, 2000);
            })
            .catch(_ => {});
        },
        cancelForm() {
          this.loading = false;
          this.dialog = false;
          clearTimeout(this.timer);
        }
      }
    }
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
  • 相关阅读:
    Win11启动修复无效怎么办
    Lua01 基本语法+数据类型+流程控制+运算符
    ElementUI的bug/方案/使用技巧合集,持续更新(最新22-7-4)
    高薪程序员&面试题精讲系列152之电商专题(中)-SPU是怎么回事?SPU如何设计?SKU又是什么呢?SN你知道吗?
    拓展(华为优秀网站)
    MYSQL索引详解和优化
    防御式编程之断言assert的使用
    MySQL 有这一篇就够(呕心狂敲37k字,只为博君一点赞!!!)
    分类预测 | Matlab实现SSA-SVM多特征分类预测
    [AI绘画] 即插即用!SDXL+T2I-Adapters 高效可控的生成图片
  • 原文地址:https://blog.csdn.net/m0_46638350/article/details/136372690