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)
})
複製代碼