当前位置:首页 > VUE

vue el 实现

2026-01-12 21:14:28VUE

Vue 中使用 Element UI (el) 实现常见功能

Element UI 是基于 Vue 的组件库,提供丰富的 UI 组件。以下介绍常见功能的实现方法。

表单验证

在表单中使用 el-form 并绑定验证规则:

<el-form :model="form" :rules="rules" ref="formRef">
  <el-form-item label="用户名" prop="username">
    <el-input v-model="form.username"></el-input>
  </el-form-item>
  <el-form-item>
    <el-button @click="submitForm">提交</el-button>
  </el-form-item>
</el-form>

定义验证规则和数据:

data() {
  return {
    form: { username: '' },
    rules: {
      username: [
        { required: true, message: '请输入用户名', trigger: 'blur' },
        { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
      ]
    }
  }
},
methods: {
  submitForm() {
    this.$refs.formRef.validate(valid => {
      if (valid) {
        // 验证通过
      }
    })
  }
}

表格展示数据

使用 el-table 展示数据:

<el-table :data="tableData" border>
  <el-table-column prop="date" label="日期"></el-table-column>
  <el-table-column prop="name" label="姓名"></el-table-column>
  <el-table-column prop="address" label="地址"></el-table-column>
</el-table>

定义表格数据:

data() {
  return {
    tableData: [
      { date: '2023-01-01', name: '张三', address: '北京市' },
      { date: '2023-01-02', name: '李四', address: '上海市' }
    ]
  }
}

弹窗对话框

使用 el-dialog 实现弹窗:

<el-button @click="dialogVisible = true">打开弹窗</el-button>
<el-dialog title="提示" :visible.sync="dialogVisible" width="30%">
  <span>这是一条消息</span>
  <span slot="footer">
    <el-button @click="dialogVisible = false">取消</el-button>
    <el-button type="primary" @click="dialogVisible = false">确定</el-button>
  </span>
</el-dialog>

控制弹窗显示:

vue el 实现

data() {
  return {
    dialogVisible: false
  }
}

下拉选择器

使用 el-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>

定义选项数据:

data() {
  return {
    value: '',
    options: [
      { value: 'option1', label: '选项1' },
      { value: 'option2', label: '选项2' }
    ]
  }
}

日期选择器

使用 el-date-picker 选择日期:

<el-date-picker
  v-model="date"
  type="date"
  placeholder="选择日期">
</el-date-picker>

绑定日期数据:

vue el 实现

data() {
  return {
    date: ''
  }
}

分页组件

使用 el-pagination 实现分页:

<el-pagination
  @size-change="handleSizeChange"
  @current-change="handleCurrentChange"
  :current-page="currentPage"
  :page-sizes="[10, 20, 30, 40]"
  :page-size="pageSize"
  layout="total, sizes, prev, pager, next, jumper"
  :total="total">
</el-pagination>

处理分页事件:

data() {
  return {
    currentPage: 1,
    pageSize: 10,
    total: 100
  }
},
methods: {
  handleSizeChange(val) {
    this.pageSize = val
    this.fetchData()
  },
  handleCurrentChange(val) {
    this.currentPage = val
    this.fetchData()
  },
  fetchData() {
    // 获取数据
  }
}

消息提示

使用 this.$message 显示提示消息:

this.$message('这是一条普通消息')
this.$message.success('成功消息')
this.$message.warning('警告消息')
this.$message.error('错误消息')

加载状态

使用 v-loading 指令显示加载状态:

<el-button
  type="primary"
  @click="showLoading"
  v-loading.fullscreen.lock="loading">
  显示全屏加载
</el-button>

控制加载状态:

data() {
  return {
    loading: false
  }
},
methods: {
  showLoading() {
    this.loading = true
    setTimeout(() => {
      this.loading = false
    }, 2000)
  }
}

标签: vueel
分享给朋友:

相关文章

vue实现本地数据存储

vue实现本地数据存储

使用 localStorage 或 sessionStorage Vue 中可以直接调用浏览器提供的 localStorage 或 sessionStorage API 进行数据存储。localSto…

vue实现grid

vue实现grid

Vue 实现 Grid 布局的方法 使用 CSS Grid 布局 Vue 可以结合 CSS Grid 布局实现灵活的网格系统。CSS Grid 是现代浏览器原生支持的布局方案,无需额外依赖库。 &l…

vue实现slidetoggle

vue实现slidetoggle

Vue 实现 SlideToggle 效果 SlideToggle 是一种常见的交互效果,元素以滑动方式展开或收起。以下是几种实现方法: 使用 CSS Transition 和 v-show…

vue实现flbook

vue实现flbook

Vue 实现类似 Flbook 的翻页效果 要实现类似 Flbook 的翻页效果,可以使用 Vue 结合 CSS 动画和 JavaScript 事件处理。以下是实现方法: 安装依赖 需要安装 vue…

vue实现日历

vue实现日历

Vue 实现日历的基本方法 使用 Vue 实现日历可以通过自定义组件或借助第三方库完成。以下是两种常见实现方式: 自定义日历组件 创建基于 Vue 的日历组件需要处理日期计算和渲染逻辑。核心是生成当…

vue 分页 实现

vue 分页 实现

Vue 分页实现方法 使用第三方库(如 Element UI) Element UI 提供了现成的分页组件 el-pagination,适合快速集成。 安装 Element UI: npm ins…