Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 850d306

Browse files
ListItem Component and Item Component. | Get Items with axios. | Create Multiple Base Components. | Delete Item Functionality.
1 parent e49aaf2 commit 850d306

File tree

4 files changed

+42
-2
lines changed

4 files changed

+42
-2
lines changed

‎src/assets/logo.png

100755100644
File mode changed.

‎src/components/DeleteButton.vue

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<template>
2+
<b-button @click="$emit('del-todo')" variant="danger">Button</b-button>
3+
</template>
4+
5+
<script>
6+
export default {
7+
name: "DeleteButton",
8+
9+
data() {
10+
return {
11+
id: String
12+
}
13+
}
14+
};
15+
</script>
16+
17+
<style scoped>
18+
img {
19+
display: block;
20+
margin: 0 auto;
21+
width: 50px;
22+
height: 50px;
23+
background-color: red;
24+
color: seashell;
25+
}
26+
</style>

‎src/components/List.vue

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<div class="row">
33
<div class="col-8 mx-auto">
44
<b-list-group v-bind:key="item.id" v-for="item in items">
5-
<ListItem v-bind:data="item"></ListItem>
5+
<ListItem v-bind:data="item"v-on:del-todo="deleteItem"></ListItem>
66
</b-list-group>
77
</div>
88
</div>
@@ -28,7 +28,14 @@ export default {
2828
.get("https://jsonplaceholder.typicode.com/todos?_limit=5")
2929
.then(res => (this.items = res.data))
3030
.catch(err => console.log(err));
31+
},
32+
methods: {
33+
deleteItem(id) {
34+
console.log(id)
35+
this.items = this.items.filter(todo => todo.id !== id)
36+
}
3137
}
38+
3239
};
3340
</script>
3441

‎src/components/ListItem.vue

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
<template>
2-
<b-list-group-item button>{{data.title}}</b-list-group-item>
2+
<b-list-group-item button >
3+
{{data.title}}
4+
<deleteButton v-on:del-todo="$emit('del-todo', data.id)"></deleteButton>
5+
</b-list-group-item>
36
</template>
47

58
<script>
9+
import DeleteButton from "@/components/DeleteButton.vue";
610
export default {
711
name: "ListItem",
812
props: {
913
data: {
1014
id: String,
1115
title: String
1216
}
17+
},
18+
components: {
19+
DeleteButton
1320
}
1421
};
1522
</script>

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /