首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quasar VueJS表单提交

Quasar VueJS表单提交
EN

Stack Overflow用户
提问于 2021-10-04 12:53:19
回答 1查看 100关注 0票数 1

希望你们都做得很好。我的表单需要收集用户电子邮件地址,以存储在Firebase云firestore中。尽管它在这一点上不起作用,而且我还没有收到任何错误。如果你能帮我解决这个问题,那就太好了。

技术: vue js 3,quasar,firebase

代码语言:javascript
复制
<q-form @submit="submitEmail()">
    <q-input rounded standout bottom-slots v-model="email" placeholder="enter your email address">
    <template v-slot:append>
        <q-btn
          rounded
          icon="add"
          label="join us"
          type="submit"/>
    </template>
    </q-input>
</q-form>
代码语言:javascript
复制
import { defineComponent } from "vue";
import { collection, addDoc } from "firebase/firestore";
import db from "../boot/firebase";

export default defineComponent({
  name: "PageIndex",
  data() {
    return {
      email: '',
      date: '',
    };
  },
  methods: {
    submitEmail() {
      (async () => {
        const docRef = await addDoc(collection(db, "waitList"), {
          email: this.email,
          date: Date.now(),
        });
        console.log("Document written with ID: ", docRef.id);
      });
    },
  },
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-04 13:03:15

尝试阻止默认表单提交,如下所示:

代码语言:javascript
复制
<q-form @submit.prevent="submitEmail()">

然后还可以尝试重构submitEmail方法,如下所示:

代码语言:javascript
复制
methods: {
  submitEmail() {
    addDoc(collection(db, "waitList"), {
      email: this.email,
      date: Date.now(),
    }).then(docRef => 
      console.log("Document written with ID: ", docRef.id);
    }).catch(e => console.log(e));
  },
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69436307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档