selectorquery.fields(object fields, function callback)
基础库 或更高版本; 若版本较低,建议采取 兼容处理 。
支小宝客户端 支持
安诊儿客户端 支持
主体: 企业支付宝小程序 、 个人支付宝小程序
相关文档: selectorquery.exec
获取节点的相关信息。
object fields
需要获取的节点信息在 fields 中指定。 查看示例
属性 | 类型 | 默认值 | 必填 | 兼容性 | 描述 |
---|---|---|---|---|---|
id | boolean | false | 否 | 基础库: 2.7.4 |
节点 id。 |
dataset | boolean | false | 否 | - | 是否返回节点 dataset。 |
rect | boolean | false | 否 | - | 是否返回节点布局位置(left right top bottom)。 |
size | boolean | false | 否 | - | 是否返回节点尺寸(width height)。 |
scrolloffset | boolean | false | 否 | - | 是否返回节点的 scrollleft scrolltop,节点必须是 scroll-view 或者 viewport。 |
computedstyle | array |
[] | 否 | - | 指定样式名列表,返回节点对应样式名的当前值。 |
context | boolean | false | 否 | - | 是否返回节点对应的 context 对象。 |
node | boolean | false | 否 | - | 是否返回节点对应的 node 实例。 |
function callback
接收节点信息的回调函数,在 selectorquery.exec 之后触发。
参数
object res
查看示例
<view id="view1" data-a="1" data-b="2">
<map id="map" style="height: 100px;width: 100px;" />
<canvas id="canvas" type="2d" onready="oncanvasready" style="height: 300px; width: 300px;" />
view>
page({
oncanvasready() {
const selectorquery = my.createselectorquery();
selectorquery
.select('#view1')
.fields(
{
id: true,
dataset: true,
rect: true,
size: true,
},
function(res) {
console.log(res, res.dataset);
}
)
.select('#map')
.fields(
{
context: true,
rect: true,
computedstyle: ['height', 'width'],
},
function(res) {
console.log(res)
}
)
.select('#canvas')
.fields(
{
node: true,
},
function(res) {
console.log(res)
}
)
.exec();
}
})
// view1 的节点信息
{
"id": "view1",
"dataset": {
"a": "1",
"b": "2"
},
"left": 0,
"right": 390,
"top": 0,
"bottom": 675,
"width": 390
}
// map 的节点信息
{
"contextid": "map",
"contextname": "map",
"context": {...
},
"left": 0,
"right": 100,
"top": 0,
"bottom": 100,
"width": "100px",
"height": "100px"
}
// canvas 的节点信息
{
"node": canvas,
"nodecanvastype": "2d",
"nodeid": "canvas",
"nodename": "canvas"
}
-
tip基础库 2.7.24 修复了 ios 15 系统获取 computedstyle 异常的问题,点此查看 。
-
tip节点信息可同时在 selectorquery.fields 和 selectorquery.exec 的回调函数中获取。