vue 注册全局过滤器

1. 新建一个filters.js的文件

const filterLabel = function (val, options) {
   let value = ''
   options.forEach(arg => {
       if (arg.value == val) value = arg.label
    })
    return value
}
export default {
      filterLabel
}
 
2. 在mian.js中引入
import filters from '@/utils/filters'
 
// 注册全局过滤器
Object.keys(filters).forEach(key=>{
  Vue.filter(key, filters[key])  //插入过滤器名和对应方法
})
 
3. 在页面中使用
<el-table-column label="分类" prop="project_type" show-overflow-tooltip align="left">
  <template slot-scope='scope'>
    <span>{{ scope.row.project_type | filterLabel(followOptions) }}</span>
    </template>
</el-table-column>
 
 
data () {
  return {
    followOptions: [
      { label: '定制', value: '0' },
      { label: '常规', value: '1' }
    ]
  }
}
 
原文地址:https://www.cnblogs.com/qianxiaoniantianxin/p/15124051.html