如下。我通过[type]字段控制是否显示表单组:type为1时当我没有选择出生日期点击提交时,弹出了一个vant错误消息(格式如下图),提示我“请选择出生日期”,到此为止没有问题,所以我selectedthetype是2,这时候发现在输入身份证号的表格下,出现了“请选择出生日期”的错误信息。这时候我就愣了,errorMessage竟然没有被替换!取而代之的是遵循vue官网的解释:“Vue将使用一种算法,最大限度地减少动态元素,并尝试尽可能多地修改/重用相同类型的元素。”也就是说,这两种形式的errorMessage所使用的div,都发现了同样的问题,但不知道是什么原因。我通过display:none控制了,但是内容没变。。。可能是我其他表单的errorMessage没有设置,所以没有原地修改???不管解决方法是什么,我们先解决它。这时候Vue的key属性key这个特殊属性,除了循环用的不多,主要用在Vue的虚拟DOM算法中,在新旧节点比较时识别VNodes。在没有键的情况下,Vue使用一种算法来最小化动态元素,并尝试尽可能多地就地修改/重用相同类型的元素。使用key时,会根据key的变化重新排列元素的顺序,并移除key不存在的元素。在最外层的form上加一个key属性,这个问题就解决了