[Vue警告]:渲染错误:“ TypeError:post.text.toLowerCase不是函数”

时间:2020-06-15 02:00:20

标签: vue.js vuejs2

我收到此错误。我试图用我的搜索栏(输入)过滤数组 我正在按计算进行搜索操作。

<div class="post"
    @click="getData(post.header,post.text)"
    v-for="(post) in searchList"
    v-bind:item="post"
    v-bind:key="post._id"
    >

计算属性

computed:{
  searchList() {
    return this.posts.filter(post => {
      return post.text.toLowerCase().includes(this.lookfor.toLowerCase())
    })
  }
},

请帮助我,谢谢

This is where i am calling computed function

This is computed property

This is error

1 个答案:

答案 0 :(得分:0)

对于您的至少一篇帖子,map1.entrySet().stream() .filter(entry -> map2.get(entry.getKey()) != null) .filter(entry -> !map2.get(entry.getKey()).equals(entry.getValue())) .map(Map.Entry::getKey) .collect(Collectors.toList()); 似乎不是字符串。

最简单的想法是过滤掉这些非字符串

post.text

或者,您可以使用更新的功能,例如Optional Chaining

computed: {
  searchList () {
    const search = this.lookfor.toLowerCase()
    return this.posts.filter(post => typeof post.text === 'string'
      && post.text.toLowerCase().includes(search))
  }
}