Skip to content
← Back to rules

vue/no-deprecated-delete-set Correctness

它的作用

禁止使用已弃用的 $set / $delete(在 Vue.js 3.0.0+ 中)。

为什么这不好?

在 Vue 3 中,实例方法 $set / $delete 以及全局的 Vue.set / Vue.delete 已被移除。现在响应性由 Proxy 提供支持,因此直接赋值和 delete 运算符可以 按预期工作,这些辅助方法已不再需要。

示例

以下是此规则的错误代码示例:

vue
<script>
export default {
  mounted() {
    this.$set(obj, key, value);
    this.$delete(obj, key);
    Vue.set(obj, key, value);
    Vue.delete(obj, key);
  },
};
</script>

以下是此规则的正确代码示例:

vue
<script>
export default {
  mounted() {
    obj[key] = value;
    delete obj[key];
  },
};
</script>

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "plugins": ["vue"],
  "rules": {
    "vue/no-deprecated-delete-set": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  plugins: ["vue"],
  rules: {
    "vue/no-deprecated-delete-set": "error",
  },
});
bash
oxlint --deny vue/no-deprecated-delete-set --vue-plugin

版本

此规则于 v1.62.0 中添加。

参考资料