我遇到的小程序hidden,display:block和wx:if的坑

本文介绍了一种在小程序中使用hidden属性控制支付密码框显示隐藏时出现的问题,并给出了使用wx:if解决该问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天写了一个小程序支付密码的页面,需要用到,显示隐藏,来控制支付弹窗的 显示隐藏,最开始我用的是hidden来控制,但是在写完之后遇到一个问题,就是当你在第一次点击按钮弹出输入密码的弹窗之后,输入支付密码,不支付而是点击使弹窗隐藏,第二级点击让弹窗显示,这个时候密码框输入会出现问题,在pc端测试会出现密码输入失效的问题,在小程序端输入会出现:只输入一次就会把密码框填满的问题。

经过半天的艰苦挣扎,终于找到了问题所在,原因是就出在小程序的hidden属性上,下面重点来了。

小程序的hidden属性和display属性,在你渲染完之后隐藏,不会销毁之前所做的渲染 ,所以虽然让hidden隐藏了,但是,之前输入的密码没有进行销毁,在第二次调出支付弹窗是,就出现了问题。

wx:if则是在把页面隐藏之后,销毁了之前所做的渲染,这样在你第二次调起弹窗时,和初次调起的效果相同。

这问题困扰了半天。终于解决了,文章献给那些像我这样刚入小程序坑的人,希望你在看到这篇文章的时候,能记住这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值