小程序 switch 自定义_微信小程序自定义组件问题一:获取组件DOM元素

b620ed54759dba92f5643e96fa5292e0.png

通过微信小程序官方api我们不难找到SelectorQuery可以满足我们的需求,官方给我们的例子如下

//以下代码获取到的是组件中id="the-id"的DOM元素Component({ queryMultipleNodes() { const query = wx.createSelectorQuery().in(this) query.select('#the-id').boundingClientRect(function (res) { res.top // 这个组件内 #the-id 节点的上边界坐标 }).exec() }})

注意:使用以上代码获取组件DOM的条件时该组件已经渲染在页面上,否则获取不到DOM对象。

我们构建如下代码来加以说明(关于自定义组件的相关知识这里就不展开说明,有需要了解的自行浏览官方文档):

页面代码

以下内容为组件内容

页面json代码

{ "usingComponents": { "modal":"/components/modal/modal" }}

组件代码

自定义组件(弹窗) 内容填充,测试该view的高度

组件js代码

// components/modal/modal.jsComponent({ created: function () { console.log("Component is created") }, ready: function () { const query = wx.createSelectorQuery().in(this) query.select('#test-view').boundingClientRect(function (res) { console.log("test-view"+res) }).exec() },})

我们设置四组对照,对照参数与结果见下表

9c25da9b088db94b0455589e30dd197e.png

由此我们可以看到只有当showModal=true show=true即组件内容在页面中渲染时才能获取到组件的DOM元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值