箭头主体周围的意外块语句

Unexpected block statement surrounding arrow body

这可能是微不足道的,但我花了异常多的时间试图弄清楚为什么下面的代码会出现此 "Unexpected block statement surrounding arrow body " 错误

computed: {
  filteredItems() {
    return this.items.filter((item) => {
      return (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1);
    });
  },
},

如果在箭头函数中你所做的只是return,那么你可以执行以下操作:

const someFunction = item => item.someReturnValue;

因此,在您的情况下,它要求您执行以下操作:

return this.items.filter((item) => (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1);

正如您在我的第一个示例中看到的,如果只需要一个参数,您也可以去掉参数周围的括号。

如果您想查看更多示例,可以查看 MDN Arrow Functions page.

这基于您的 ESLint 配置。因此,由于箭头函数确实隐式 return,因此您的代码不需要 return 语句。

箭头函数后面的左大括号立即表示一个新的块,它应该不止一个句子,但在你自己的情况下不是这样。

// Fix for your code

computed: {
  filteredItems() {
   return this.items.filter((item) => 
   (item.type.toLowerCase().indexOf(this.search.toLowerCase()) > -1));
  }
},