From 2759e22ee0648b69d8007f37f08aa476e3f04c47 Mon Sep 17 00:00:00 2001 From: Cristiano Magro <cristiano.magro@vola.it> Date: Mon, 30 Dec 2024 20:14:37 +0100 Subject: [PATCH] submit form new contact --- 07 - development setup/vue-cli-01-a-new-vue-project/src/App.vue | 61 +++++++++++++++++++++++------- 1 files changed, 46 insertions(+), 15 deletions(-) diff --git a/07 - development setup/vue-cli-01-a-new-vue-project/src/App.vue b/07 - development setup/vue-cli-01-a-new-vue-project/src/App.vue index a9ca593..9859157 100644 --- a/07 - development setup/vue-cli-01-a-new-vue-project/src/App.vue +++ b/07 - development setup/vue-cli-01-a-new-vue-project/src/App.vue @@ -3,17 +3,16 @@ <header> <h1>My friends</h1> </header> + <new-friend @add-contact="addContact"></new-friend> <ul> - <friend-contact - v-for="friend in friends" - :key="friend.id" - :id="friend.id" - :name="friend.name" - :phone-number="friend.phone" - :email-address="friend.email" - :is-favorite="friend.isFavorite" - @toggle-favorite="toggleFavoriteStatus" - ></friend-contact> + <friend-contact v-for="friend in friends" + :key="friend.id" + :id="friend.id" + :name="friend.name" + :phone-number="friend.phone" + :email-address="friend.email" + :is-favorite="friend.isFavorite" + @toggle-favorite="toggleFavoriteStatus"></friend-contact> </ul> </section> </template> @@ -35,18 +34,33 @@ name: "Julie Jones", phone: "09876 543 221", email: "julie@localhost.com", - isFavorite: true, + isFavorite: true, }, ], } }, - methods:{ - toggleFavoriteStatus(friendId){ - const found = this.friends.find( + watch: { + + }, + methods: { + toggleFavoriteStatus(friendId) { + const found = this.friends.find( (friend) => friend.id === friendId ); found.isFavorite = !found.isFavorite; + }, + + addContact(name, phone, email) { + const newFriendContact={ + id: new Date().toISOString + name, + name: name, + phone: phone, + email:email, + }; + + this.friends.push(newFriendContact); } + } }; </script> @@ -84,7 +98,8 @@ list-style: none; } -#app li { +#app li, +#app form { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.26); margin: 1rem auto; border-radius: 10px; @@ -117,4 +132,20 @@ border-color: #ec3169; box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.26); } + +#app input { + font: inherit; + padding: 0.15rem; +} + +#app label { + font-weight: bold; + margin-right: 1rem; + width: 7rem; + display: inline-block; +} + +#app form div { + margin: 1rem 0; +} </style> \ No newline at end of file -- Gitblit v1.8.0