微信小程序表单组件中的组件应该是很常用的

2024-05-12
来源:网络整理

微信小程序表单组件中的组件应该是非常常用的组件。 如果经常使用,必然会用到各种事件。 以下是一些最常用的问题和执行顺序问题。 如果不明确这一点,很容易发生意外事件。 外部结果。

我们先来看看这些事件。 tap事件:这是小程序中的点击事件,绑定语法为,微信小程序中的每个组件都有一个tap事件; :键盘输入事件,绑定语法为; :输入框焦点事件,绑定语法为; 模糊事件:输入框失去焦点事件,绑定语法。

以下是其触发顺序的示例:

<input bindtap="inputTap" bindinput="doInput" bindfocus="inputFocus" bindblur="inputBlur">input> <view bindtap="viewTap">view tapview>

//index.js部分代码 inputTap(e){ console.log("input tap"); }, doInput(e){ console.log("input sth"); }, inputFocus(e){ console.log("input focus"); }, inputBlur(e){ console.log("input blur"); }, viewTap(e){ console.log("view tap"); }

测试过程是首先点击输入框,输入一个字符,然后点击下面的查看水龙头。 开发者工具上控制台得到的结果是:

input focus input tap input blur view tap

开发者如何绑定appid_小程序绑定了开发者_微信小程序开发绑定事件

由此,我们得到该组件从点击输入到点击其他组件的事件执行顺序:->点击->模糊->点击。 最后一次点击是其他组件的点击事件。 我想这个顺序应该是有些人认为的理论顺序和开发工具都是这样的。

然而,实际机器上并非如此。 当我们使用这段代码在真机上调试时,可以看到执行顺序是:

input tap input focus view tap input blur

以上是实际的触发顺序:**点击->点击->模糊**。 看完真机结果你明白了吗? 首先触发tap事件,开发工具上模拟器的tap事件实际上是模拟事件。 所以在开发过程中一定要注意这一点。 例如,当显示器失焦时执行某些操作,然后单击按钮执行某些操作。 如果这两个事件之间有先后顺序,则必须注意上述顺序。 ,否则真机测试不会得到预期的结果。

另外,关于tap事件和tap事件,事件触发时会有轻微的滞后。 不知道是微信版本的问题还是原生组件的问题。 我进去的时候弹出一个面板,事件面板不是用键盘操作的。 同时弹出的要稍微滞后一点,最后用tap事件解决了问题。 支付宝小程序中不存在此问题,支付宝小程序组件中没有tap事件。

好了,就这样了,感谢您的阅读~~

分享