input复用问题
input的复用:Vue里面要实现某一效果时要先给VDOM,再由VDOM渲染到实际效果中,当VDOM(虚拟DOM)中已经创建了一个label、input时,转变类型之后,会检测要传入的是什么,发现还是input之后就不会再创建一个新的input,只会在原来的基础上进行改变。所以当一开始在账号中输入了内容之后切换到邮箱里以后内容依然在,并不会清空
<div id="app">
<span v-if="isUser">
<label for="username">用户账号</label>
<input type="text" id="username" placeholder="用户账号" key="username">
</span>
<span v-else>
<label for="email">用户邮箱</label>
<input type="text" id="email" placeholder="用户邮箱" key="email">
</span>
<button @click="isUser=!isUser">切换类型</button>
</div>
解决办法:
input里面的key相当于一个标识符,当两个input的key一样时VDOM就不会重新创建input,而是改变不同的,保留原有内容,当key不一样时就会重新创建一个input,不会出现input复用的情况
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)