我在wxml的input中指定了bindinput属性为'onEdit_typing ',但此时js文件中并没有声明该函数。 

原因是我希望在该input需要被show出来时才‘动态’指定。


比如

//.wxml

<view wx:if="{{edit_visible}}">

    <input value='{{text}}' bindinput='onEdit_typing' type='text' />

</view>


//.js

showEdit:function(){

    this.data.edit_visible = true;

    this.onEdit_typing  = function(e){

     console.log('真正的回调');

    }

    this.setData(this.data);

    console.log(this);

}


我通过调用该方法来让input显示出来,但当我输入时会提示找不到该handler,即提示'onEdit_typing'找不到

但我log this时, 即把page打印出来时却可以看到该方法有被声明了。


我在其它地方用类似的机制都是可以正常运作的,包括针对view的bindtap动态实现,但在input这里却失败了。 我不确定这是不是bug, 如果是,腾讯可否提供一个纪念品给我?


so,我现在的解决办法是老老实实在js中先声明一下该方法(很不情愿这样!!!)

onEdit_typing:function(e){

 console.log('占位');

}

就不会有这个提示了,而且仍然会走到我自己‘动态’定义的方法里

测试环境 1模拟器(mac)2小程序真机(android,三星) 均如此

请开发组明查。 谢谢




------------------------------------------

补充

https://github.com/simsir-lin/dialog-wxapp我使用了该dialog组件


<!-- 文本输入 -->

<dialog data-model="edit_visible" visible="{{edit_visible}}" title="{{edit.title}}" bindclose="onEdit_close" bindconfirm="onEdit_confirm" bindopen='onEdit_open'>

    <view class='container-v padding_mid-v bg_white'>

        <input value='{{edit.text}}' bindinput='onEdit_typing' type='text' class='text-big text-color ' />

        <view style='height:1px;background:#a5a5a5;margin-top:1vw ' />

    </view>

</dialog>

&

展开全部
收起
4回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 凌云舒语

    16人对此回答表示赞同

    正常的呢

    展开
    16
    8回复
    发布于 6年前

    评论(8)

    收起评论

    • 小心肝 2019-02-26 20:53

      。。。期待官方的说法

      回复
    • Veasna 2019-02-28 20:45

      。。。啊啊啊

      回复
    • Tika 2019-03-03 00:18

      还真是的。。你赢啦~~

      回复
    • 2019-03-04 08:44

      我也是如此怀疑,但奇怪的是我在同样的组件里用类似的方式处理view的bindtap方法,可以!

      回复
    • Jaydon 2019-03-06 18:08

      嗯,在组件里这么用,会有问题。他的this和page指向不一样,不能弄到methods里去

      回复
    • Frederick富坚 2019-03-09 00:18

      感谢回复,可以看看我刚才贴的代码。我用一个第三方dialog组件。

      回复
    • Cathy云 2019-03-10 13:00

      不知道。。我试试哈,稍等。。

      回复
    • Caroline1 2019-03-12 16:40

      我是在’组件‘里面使用这段代码,会有影响吗?

      回复
  • Aubrey

    15人对此回答表示赞同


    展开
    15
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Carter

    3人对此回答表示赞同

    自定义组件这里对于动态添加的方法在某些特别的事件触发中有个bug,去原型寻找却没有在当前实例寻找,所以你这里挂在实例上的方法会找不到。预计近期的基础库版本会修复这个问题。

    展开
    3
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • 夹生饭 2019-02-22 20:05

      辛苦了,这么晚还在查bug

      回复
  • 赵凯歌

    2人对此回答表示赞同

    麻烦给个相关的代码片段,我们定位下问题

    展开
    2
    1回复
    发布于 6年前

    评论(1)

    收起评论

    • 周欣 2019-02-25 00:36

      wechatide://minicode/f8PmcPmh7n1C已生成代码片段!

      回复
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部