NodesRef 用于获取 WXML 节点信息的对象node
let query = wx.createSelectorQuery()
复制代码
SelectorQuery.in (对应的组件)数组
SelectorQuery.select(string selector)bash
SelectorQuery.selectAll()布局
SelectorQuery.selectViewport()ui
SelectorQuery.exec(function callback)spa
let query = wx.createSelectorQuery()
复制代码
方法一:query.select(queryString) 选择第一个匹配节点code
方法二:query.selectAll(queryString) 选择全部匹配节点component
let queryString = '.blue-product>>>.product-list'
let queryNode = query.selectAll(queryString)
复制代码
queryNode.fields({
id:false,//是否返回节点id
rect:fasle,//是否返回节点布局位置
dataset: true,//返回数据集
size: true,//返回宽高
scrollOffset: true,//返回 scrollLeft,scrollTop
properties: ['scrollX', 'scrollY'],//监听属性名
computedStyle: ['margin', 'backgroundColor']//此处返回指定要返回的样式名
}, function(res) {
console.log(res)
})
// 返回结果
[{
dataset:{},
width:247,
height:1065,
scrollLeft:0,
scrollTop:0,
margin:"0px 0px 10px",
backgroundColor:"rgba(0, 0, 0, 0)",
},{
dataset:{},
width:247,
height:1065,
scrollLeft:0,
scrollTop:0,
margin:"0px 0px 10px",
backgroundColor:"rgba(0, 0, 0, 0)",
},{
dataset:{},
width:247,
height:1065,
scrollLeft:0,
scrollTop:0,
margin:"0px 0px 10px",
backgroundColor:"rgba(0, 0, 0, 0)",
}]
复制代码
复制代码
query.selectAll(queryClass).boundingClientRect(function(rect){
rect.id // 节点的ID
rect.dataset // 节点的dataset
rect.left // 节点的左边界坐标
rect.right // 节点的右边界坐标
rect.top // 节点的上边界坐标
rect.bottom // 节点的下边界坐标
rect.width // 节点的宽度
rect.height // 节点的高度
})
复制代码
wx.createSelectorQuery().selectViewport().scrollOffset(function(res){
res.id // 节点的ID
res.dataset // 节点的dataset
res.scrollLeft // 节点的水平滚动位置
res.scrollTop // 节点的竖直滚动位置
})
复制代码
query.exec(function(res) {
console.log(res)
})
复制代码