当前位置:首页 > 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实现评论编辑

Vue 实现评论编辑功能 数据绑定与表单结构 使用 v-model 双向绑定评论内容到表单输入框,确保编辑时能显示原内容并同步修改。示例模板结构: <template> <di…

前端多线程实现vue

前端多线程实现vue

前端多线程与Vue的结合 在Vue中实现多线程通常通过Web Worker技术完成。Web Worker允许在后台线程中运行脚本,避免阻塞主线程,适合处理计算密集型任务。 使用Web Worker的…

vue如何实现到期提醒

vue如何实现到期提醒

实现 Vue 到期提醒功能 使用计算属性计算剩余时间 在 Vue 组件中定义一个计算属性,计算目标日期与当前日期的差值。通过 Date 对象获取时间戳并计算剩余天数或小时数。 computed: {…

vue 实现在线预览

vue 实现在线预览

Vue 实现在线预览的常见方法 使用 iframe 嵌入 通过 iframe 标签可以嵌入多种类型的文件,如 PDF、图片、网页等。需要确保文件地址可访问。 <template> &…

vue实现录音文件播放

vue实现录音文件播放

使用 Vue 实现录音文件播放 准备工作 确保项目中已安装必要的依赖,如 vue-audio-recorder 或原生 Web Audio API。录音文件播放通常涉及录音、存储和播放三个核心环节。…

vue实现菜单栏锚点

vue实现菜单栏锚点

实现锚点菜单的基本思路 在Vue中实现菜单栏锚点功能,主要涉及两个方面:创建可跳转的锚点位置,以及菜单项的点击滚动控制。通过监听滚动事件可以高亮当前可见区域的对应菜单项。 创建页面锚点位置 在需要…