vue3.0 过滤器解决方案

因为vue3.0不再支持局部过滤器属性,笔者参考这篇文章总结出下面的用法

vue3.0中为啥要删除过滤器功能,因为功能重复吧? - 知乎

1、首先定义一个filter.ts文件

import { computed } from 'vue'

export default function () {
  const getSystemUserStatus = computed(() => {
    // 这里需要用一个函数来返回,好像是用到了闭包的概念,这里我不太理解这种写法
    return function(status: number) {
      console.log(status, '123')
      switch(status) {
        case 100:
          return '使用中';
        case 200:
          return '禁用中';
        case 201:
          return '冻结中';
      }
    }
  })
  return {
    getSystemUserStatus
  }
}

2、在对应的vue文件中进行引入。

<template>
  <div class="rolesManagement">
    {{ getSystemUserStatus(100) }}
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue'
import AccountManagementFilter from '@/filter/account-management-filter'

export default defineComponent({
  name: 'AAA',
  setup() {
    const { getSystemUserStatus } = AccountManagementFilter()
    return {
      getSystemUserStatus
    }
  },
})
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值