当前位置:首页 > 前端教程

elementui filters

2026-03-06 05:20:35前端教程

关于 ElementUI 的 Filters 功能

ElementUI 提供过滤器(Filters)功能,主要用于格式化文本显示。过滤器可以在模板中直接使用,适用于表格列、标签等场景。

内置过滤器

ElementUI 内置了一些常用过滤器:

  • capitalize: 将字符串首字母大写
  • uppercase: 将字符串转为大写
  • lowercase: 将字符串转为小写
  • currency: 格式化货币显示
<el-table-column
  prop="name"
  label="姓名"
  :formatter="(value) => $options.filters.capitalize(value)">
</el-table-column>

自定义过滤器

可以注册全局过滤器或局部过滤器:

全局过滤器

// main.js
Vue.filter('formatDate', function(value) {
  if (!value) return ''
  return moment(value).format('YYYY-MM-DD')
})

局部过滤器

export default {
  filters: {
    truncate(value, length) {
      if (!value) return ''
      return value.length > length 
        ? value.substring(0, length) + '...' 
        : value
    }
  }
}

在表格中使用过滤器

ElementUI 表格组件支持通过 formatter 属性使用过滤器:

<el-table-column
  prop="date"
  label="日期"
  :formatter="(value) => $options.filters.formatDate(value)">
</el-table-column>

过滤器链式调用

可以连续使用多个过滤器:

<span>{{ message | capitalize | truncate(10) }}</span>

过滤器参数传递

过滤器可以接收额外参数:

elementui filters

Vue.filter('pluralize', function(value, singular, plural) {
  return value === 1 ? singular : plural
})
<span>{{ count | pluralize('item', 'items') }}</span>

注意事项

  • 过滤器应设计为纯函数,不修改原始数据
  • 复杂逻辑建议使用计算属性替代过滤器
  • Vue 3 中过滤器已被移除,Element Plus 不再支持此功能

分享给朋友:

相关文章

elementui nuxt

elementui nuxt

在 Nuxt.js 中使用 Element UI Element UI 是一个基于 Vue.js 的组件库,适用于开发后台管理系统。在 Nuxt.js 项目中集成 Element UI 需要一些额外配…

elementui sass

elementui sass

在 Element UI 中使用 Sass Element UI 支持通过 Sass 进行样式定制,可以通过修改变量或覆盖样式来实现主题定制或组件样式调整。 安装 Sass 相关依赖: npm i…

elementui button

elementui button

基本用法 Element UI 的 Button 组件提供多种样式和功能,可以通过 type 属性设置按钮类型。常见类型包括 primary、success、info、warning、danger。…

elementui progress

elementui progress

Element UI Progress 组件 Element UI 提供了一个 Progress 组件,用于展示操作的当前进度。该组件支持多种样式和配置选项,适用于文件上传、任务完成度等场景。 基本…

elementui api

elementui api

以下是 Element UI 常用 API 的整理说明,按照组件分类呈现: Form 表单 model 绑定表单数据对象rules 表单验证规则validate 方法用于整体表单验证resetFie…

elementui好丑

elementui好丑

ElementUI 的设计风格确实可能不符合部分用户的审美需求,但其作为一款成熟的 Vue 组件库,可通过以下方式提升视觉效果: 自定义主题 ElementUI 支持通过 SCSS 变量覆盖默认样式…