This repository was archived by the owner on Sep 24, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +25
-22
lines changed
Expand file tree Collapse file tree 1 file changed +25
-22
lines changed Original file line number Diff line number Diff line change 11<template >
2- <form
3- id =" send-message"
4- class =" flex flex-row flex-space-between"
5- @submit.prevent
6- >
7- <input v-model =" newMessage" type =" text" name =" text" class =" flex flex-1" />
8- <button class =" button-primary" type =" submit" @click =" addMessage" >
2+ <form class =" flex flex-row flex-space-between" @submit.prevent =" onSubmit" >
3+ <input v-model =" message.text" type =" text" class =" flex flex-1" />
4+
5+ <button class =" button-primary" type =" submit" >
96 Send
107 </button >
118 </form >
129</template >
1310
1411<script >
12+ import { ref } from ' @vue/composition-api'
13+
1514export default {
1615 name: ' MessageComposer' ,
17- props: {
18- // eslint-disable-next-line vue/require-default-prop
19- createMessage: Function
20- },
21- data () {
22- return {
23- newMessage: ' '
16+ setup (props , context ) {
17+ const { Message } = context .root .$FeathersVuex .api
18+
19+ const message = ref (new Message ({ text: ' ' }))
20+
21+ function reset () {
22+ message .value = new Message ({ text: ' ' })
23+ }
24+ function onSubmit () {
25+ if (! message .value .text ) {
26+ return
27+ }
28+ message .value .save ()
29+ reset ()
2430 }
25- },
26- methods: {
27- addMessage () {
28- // Create a new message and then clear the input field
29- this .createMessage ({ text: this .newMessage }).then (this .clearMessage )
30- },
31- clearMessage () {
32- this .newMessage = ' '
31+
32+ return {
33+ message,
34+ reset,
35+ onSubmit
3336 }
3437 }
3538}
You can’t perform that action at this time.
0 commit comments