• 小程序中使用components方法selectComponent遇到的坑 返回为null


    前言:哎呦气死了,小程序等着发布审核得时候 发现了一个bug,selectComponent获取不到组件了,返回值一直为null

    原因居然是因为 wx:if  , 代码如下,无论if是true还是false  都获取不到组件,去掉wx:if 就可以了  记录一下  希望大家可以避开,网上百度了一下,很少这个问题得记录。

    <view class="address" hover-class="none" hover-stop-propagation="false" wx:if="{{detailData.status == 'ONLINE'}}">
      <span class="van-row-label">送至</span>
       <span class="address-info" bindtap="selectAddress">{{addressValue === '' ? '请选择收货地址+' : addressValue}}</span>
      <selectAddress id="selectAddress-modal" bind:getSelectedAddress="getSelectedAddress"></selectAddress>
    </view>

    那就顺便记录一下,如何获取组件吧。

    1. json 文件中引入了该组件
    {
      "usingComponents": {
      "selectAddress":"../../../components/selectAddress/selectAddress"
      }
    }


    1. 父组件 wxml 文件中使用了这个组件并且设置了一个 id 或者是 class 类样式   (我下面都是用id  class也是一样的和样式命名方式一样)
      <selectAddress id="selectAddress-modal"></selectAddress>
    1. 父组件 js 文件中传递了正确的选择器获取子组件对象

      

        Page({
            onReady(){  //onReady或者 onLoad里面先取值都是可以的
                // (大坑)切记下面参数不能传递标签选择器(selectAddress),不然返回的同样是 null 
               this.selectAddressModal = this.selectComponent("#selectAddress-modal"); 
            }
        })
  • 相关阅读:
    asp iis5.1x 2147467259 (0x80004005)
    asp 编辑 文本框为何会自动多出个逗号?
    asp 调用Recordset对象操作数据库
    windows2003 iis中播放flv格式的视频设置
    金额拆分 "万千百"..
    类似银行交易记录
    太扯了asp
    asp中通过Connection链接数据库
    给被Access过大问题困扰的网站,提供几种解决方案
    六款WEB上传组件性能测试与比较
  • 原文地址:https://www.cnblogs.com/wenrain/p/11389392.html
Copyright © 2020-2023  润新知