首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React Select,为什么我要打印双值并存储在数据库中

React Select,为什么我要打印双值并存储在数据库中
EN

Stack Overflow用户
提问于 2021-09-15 23:48:47
回答 1查看 166关注 0票数 0

好的,我有一个问题,为什么当有人点击多个选择答案时,它会存储所有的值,而不是只存储最后一个值?

所以假设我只有两个选择

然后我点击选项1,但在最后一分钟决定改为选项2,为什么它同时保存数据库中的数据/信息?

它在桌子上印着这样的图案:

如您所见,它确实打印了这两所学校("colegios"),因为我在“选择”中单击了这两所学校。

这是相关的代码片段,如果需要完整的代码,请告诉我。

代码语言:javascript
复制
const [idType1, setidType1] = useState([]);

const register = (e) => {
        e.preventDefault();
        const docRef = db.collection('usuarios').doc(user.uid).collection('estudiantes').doc();
        docRef.set({
            
          name: firstName + " " + lastName,
          school: idType1,
          grade: idType2,
          uid: docRef.id,

        }).then((r) => {
            history.push("/Inicio");
        })
      }

<select className = "crear_escuela" onChange = {(e) => setidType1([...idType1, e.target.value])} required>
   <option value="" disabled selected hidden>Seleccione...</option>
   <option value = 'Academia Internacional de Boquete' label = 'Academia Internacional de Boquete' />
   <option value = 'Academia Internacional de David' label = 'Academia Internacional de David' />
</select>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-16 01:19:06

问题在onChange = {(e) => setidType1([...idType1, e.target.value])中。

每次select中的值发生变化时,都会将所选值添加到idType1中。考虑到这是一个下拉列表,您通常希望用新选择的值替换idType1的现有值。

所以:

代码语言:javascript
复制
onChange = { (e) => setidType1(e.target.value) }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69200898

复制
相关文章

相似问题

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