自定义组件, 这样:
MyInput.wxml:
|
MyInput.js:
// pages/test/MyInput.js Component({ /** * 组件的属性列表 */ properties: { }, /** * 组件的初始数据 */ data: { }, /** * 组件的方法列表 */ methods: { handleMyInput(e) { this .triggerEvent( 'input' , e, { bubbles: false }); }, } }) |
页面, 这样:
pages/test/test.wxml
<!--pages/test/test.wxml--> < text >pages/test/test.wxml</ text > < my-input bind:input = "handleInput" ></ my-input > < button bindtap = "submit" >submit</ button > |
pages/test/test.js
// pages/test/test.js Page({ /** * 页面的初始数据 */ data: { value: '' , }, handleInput(e) { console.log( "handleInput" , e.detail.value); this .setData({ value: e.detail.value }) }, submit(e) { console.log( ">>>>" , this .data.value); }, }) |
然后输入, 失去焦点之后有一个这样的warning
input不在MyInput组件里面找监听的方法, 跑去页面test里面找? MyInput里面的监听器形同虚设了?
是我用法有问题吗? 求指教
妈耶,遇到了同样的问题,折腾到晚上三点也没弄好,实在找不到原因,朋友让我在input标签中加了一个value="",然后运行就可以了;虽然可以了,但是还是不服气,又把这个value=""删掉,再次运行,然后也没任何问题。虽然这个问题解决了,到现在还是不知道到底啥原因。估计是开发工具的问题
我也出现了相同的问题,这么久竟然还是没解决。
要用真机调试。
麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)