Javascript Firebase ref.set()从其他表单字段中删除文本

Javascript Firebase ref.set()从其他表单字段中删除文本,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我刚开始学习Firebase 我在页面上有一个表单,它有多个textarea元素。每个文本区域都有自己的提交按钮。当我在任何一个文本区域中写入文本并按下submit按钮时,该值保存在db中 但如果我在Textarea-1中键入一些文本并保持原样,然后在Textarea-2中键入一些文本并按下提交按钮,则Textarea-2值将保存在数据库中,但其他Textarea(在本例中为Textarea-1)中的文本将被删除。 在保存数据的函数中,我还使用以下代码设置当前日期: addMyValues(va

我刚开始学习Firebase

我在页面上有一个表单,它有多个textarea元素。每个文本区域都有自己的提交按钮。当我在任何一个文本区域中写入文本并按下submit按钮时,该值保存在db中

但如果我在Textarea-1中键入一些文本并保持原样,然后在Textarea-2中键入一些文本并按下提交按钮,则Textarea-2值将保存在数据库中,但其他Textarea(在本例中为Textarea-1)中的文本将被删除。 在保存数据的函数中,我还使用以下代码设置当前日期:

addMyValues(val1, val2, val3, val4) {
this.db.database.ref('profiles/' + new Date().toDateString() + '/' + val1).push({
  name  : val2.dispName,
  email : val2.email,
  phone : val3
});
this.db.database.ref('birthDay/' + val1 + '/newUpdate').set(new Date().toDateString());   
} 
什么会导致此问题?

.set()将覆盖文档中的数据,如果您未将其指定为“合并”

应该是这样的:

this.db.database.doc('birthDay/' + val1 + '/newUpdate').set(new Date().toDateString(), { merge: true }); 

您需要在
set
方法中设置
merge

文本将从DB中删除,或者从前面的输入?前面从未提交的其他文本区域中删除,而值正在保存。给定错误:类型为{merge:boolean}的参数不可赋值。。。。我在这里遗漏了什么。请看这里:-我还更新了我的答案,可能更准确。