50:27 error Expected to return a value in "filteredTodos" computed property vue/return-in-computed-property
проблема в том что выдает непонятную ошибку, не могу понять какое "Value" необходимо. Прикладываю скрин ошибки и кода. Извините за глупый вопрос, только начинаю программировать. Спасибо огромное!
<template>
<div>
<h2>Todo application</h2>
<router-link to="/">Home111</router-link>
<hr>
<AddTodo @add-todo="addTodo"/>
<label>
<select v-model="filter">
<option value="all">All</option>
<option value="completed">Completed</option>
<option value="not-completed">Not-completed</option>
</select>
</label>
<hr>
<Loader v-if="loading"/>
<TodoList v-else-if="filteredTodos.length"
v-bind:todos="filteredTodos"
v-bind:key="filteredTodos.id"
@remove-todo="removeTodo"
/>
<p v-else> NOTODOS</p>
</div>
</template>
<script>
import TodoList from '@/components/TodoList';
import AddTodo from "@/components/AddTodo";
import Loader from "@/components/loader";
export default {
name: 'App',
data() {
return {
todos:[],
loading:true,
filter:"all"
} },
mounted() {
fetch('https://jsonplaceholder.typicode.com/todos/?_limit=9 ')
.then(response => response.json())
.then(json => {
setTimeout(() => {
this.todos = json
this.loading = false
}, 5000)
})
} ,
computed: {filteredTodos() {
if (this.filter === "all") {
return this.todos
}
if (this.filter === "completed") {
return this.todos.filter(t => t.completed)}
if (this.filter === "not-completed") {
return this.todos.filter(t => !t.completed)
}
}
},
methods: {
removeTodo(id) {
this.todos = this.todos.filter(t => t.id !== id)
},
addTodo(todo) {
this.todos.push(todo)
}},
components: {
TodoList, AddTodo, Loader
}}
</script>
Ответы (1 шт):
Автор решения: Вячеслав Некрасов
→ Ссылка
computed: { filteredTodos() {
var filter
if (this.filter === 'all') {
filter = this.todos
}
if (this.filter === 'completed') {
filter = this.todos.filter(t => t.completed)
}
if (this.filter === 'not-completed') {
filter = this.todos.filter(t => !t.completed)
}
return filter
}
},



