avatar

mdo

Hello

  • 首页
  • 知识库
  • 归档
  • 标签
  • 关于
主页 Vue3中删除了过滤器filter功能-如何使用computed和methods实现filter功能
文章

Vue3中删除了过滤器filter功能-如何使用computed和methods实现filter功能

发表于 2025-09-15 更新于 2025-09- 15
作者 mdo
8~11 分钟 阅读

使用computed和methods实现filter功能

基础代码

`<template>
  <div id="app">
    <ul v-for="(item, index) in arr" :key="index">
      <li>快递公司:{{ item.deliverCompany }}</li>
      <li>运输状态:{{ item.expressState }}</li>
    </ul>
  </div>
</template>
<script> export default {
  data() {
    return {
      arr: [
        {
          deliverCompany: "快递1",
          expressState: "1",
        },
        {
          deliverCompany: "快递2",
          expressState: "2",
        },
        {
          deliverCompany: "快递3",
          expressState: "3",
        },
        {
          deliverCompany: "快递4",
          expressState: "4",
        },
        {
          deliverCompany: "快递5",
          expressState: "5",
        },
        {
          deliverCompany: "快递6",
          expressState: null,
        },
      ],
    };
  },
}; </script>`
`<template>
  <div id="app">
    <ul v-for="(item, index) in arr" :key="index">
      <li>快递公司:{{ item.deliverCompany }}</li>

      <li>运输状态:{{ item.expressState | showState }}</li>
    </ul>
  </div>
</template>
<script> export default {
  data() {
    return {
      ......
    };
  },

  filters: {
    showState(state) {
      switch (state) {
        case "1":
          return "待发货";
          break;
        case "2":
          return "已发货";
          break;
        case "3":
          return "运输中";
          break;
        case "4":
          return "派件中";
          break;
        case "5":
          return "已收货";
          break;
        default:
          return "快递信息丢失";
          break;
      }
    },
  },
}; </script>`
`<template>
  <div id="app">
    <ul v-for="(item, index) in arr" :key="index">
      <li>快递公司:{{ item.deliverCompany }}</li>

      <li>运输状态:{{ computedText(item.expressState) }}</li>
    </ul>
  </div>
</template>
<script> export default {
  data() {
    return {
      ......
    };
  },
  computed: {
    computedText() {

      return (state)=>{
        switch (state) {
          case "1":
            return "待发货";
            break;
          case "2":
            return "已发货";
            break;
          case "3":
            return "运输中";
            break;
          case "4":
            return "派件中";
            break;
          case "5":
            return "已收货";
            break;
          default:
            return "快递信息丢失";
            break;
        }
      };
    },
  },
}; </script>`
`<template>
  <div id="app">
    <ul v-for="(item, index) in arr" :key="index">
      <li>快递公司:{{ item.deliverCompany }}</li>

      <li>运输状态:{{ methodsText(item.expressState) }}</li>
    </ul>
  </div>
</template>
<script> export default {
  data() {
    return {
      ......
    };
  },
  methods: {
    methodsText(state) {
      switch (state) {
        case "1":
          return "待发货";
          break;
        case "2":
          return "已发货";
          break;
        case "3":
          return "运输中";
          break;
        case "4":
          return "派件中";
          break;
        case "5":
          return "已收货";
          break;
        default:
          return "快递信息丢失";
          break;
      }
    },
  },
}; </script>`

Vue3删去了重复的功能,使用computed和methods也可以实现filter功能

技术
功能
许可协议:  CC BY 4.0
分享

相关文章

7月 26, 2026

完美地解决 TP3 老系统数据的平滑读取

为了彻底、完美地解决 TP3 老系统数据的平滑读取,必须解决两个核心痛点: TP3 的盲猜反序列化机制(标量存原样,数组/对象存原生 serialize,同时兼容 json)。 TP3 与 TP6 的缓存前缀(Prefix)不一致。 以下是为你量身定制的终极落地解决方案,通

7月 26, 2026

thinkphp3 redis序列化和反序列化

在老系统重构迁移至 ThinkPHP 6 (TP6) 的过程中,ThinkPHP 3 (TP3) 的 Redis 序列化历史遗留问题是最核心的连环坑之一。 TP3 的 S('key', $value) 缓存方法和底层 Redis 驱动,在存储非字符串(如数组、对象)时,有一套独特的序列化行为。如果不

7月 24, 2026

Table 空间极易发生哈希冲突并溢出

既然你没有在业务中主动调用 Room,只使用了全局广播,那么这个问题就非常明确了:即使你不用房间功能,think-swoole 只要开启了 WebSocket,底层就会强行初始化并注入一个名为 Room 的驱动组件。 [1] 框架底层默认使用 table 类型来作为 Room 的存储介质。当进行全局

下一篇

Flutter 报错: Because every version of flutter_test from sdk depends on xxx, xxx depends on path xxx

上一篇

一款开源自托管的在线 API 接口管理平台

最近更新

  • 完美地解决 TP3 老系统数据的平滑读取
  • thinkphp3 redis序列化和反序列化
  • Table 空间极易发生哈希冲突并溢出
  • 将监控程序直接跑在云端
  • AI 驱动型 Facebook 群组关键词监控 Chrome 浏览器插件

热门标签

API CodeGeex Gitkraken Management Manticore Premiere Sublime Swoole ThinkPHP ThinkPHP5

目录

©2026 mdo. 保留部分权利。