当前位置:首页 > 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>

控制弹窗显示:

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>

绑定日期数据:

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>

控制加载状态:

vue el 实现

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

标签: vueel
分享给朋友:

相关文章

vue实现单词反转

vue实现单词反转

实现思路 在Vue中实现单词反转功能,可以通过多种方式完成。核心思路是利用JavaScript的字符串处理方法,将输入的单词或句子拆分为数组,反转数组后再拼接成字符串。 方法一:使用计算属性 通过计…

简单实现vue

简单实现vue

Vue 的基本实现 创建一个简单的 Vue 应用需要引入 Vue 库,并编写基本的模板和数据绑定逻辑。 <!DOCTYPE html> <html lang="en"> &l…

vue实现active

vue实现active

Vue 实现 active 状态的方法 在 Vue 中实现 active 状态可以通过以下几种方式实现,具体取决于使用场景和需求。 使用 v-bind:class 动态绑定类名 通过 v-bind:…

vue实现曲线

vue实现曲线

Vue 实现曲线的方法 在 Vue 中实现曲线可以通过多种方式,包括使用 SVG、Canvas 或第三方库如 D3.js、ECharts 等。以下是几种常见的方法: 使用 SVG 绘制曲线 SVG…

vue实现treeselect

vue实现treeselect

Vue TreeSelect 实现方法 使用 Vue 实现 TreeSelect 组件可以通过以下几种方式完成,包括使用现成的第三方库或自行封装组件。 使用第三方库 推荐使用成熟的第三方 TreeS…

vue实现 treegrid

vue实现 treegrid

Vue 实现 TreeGrid 的方法 使用现成组件库 Element UI、Ant Design Vue 等流行组件库提供了现成的 TreeTable/TreeGrid 组件,可直接使用。 Ele…