NodesRef.fields
简介
获取节点的相关信息,需要获取的字段在 fields 中指定。返回值是 nodesRef 对应的 selectorQuery
入参
Object fields, Function callback
fields 参数说明
返回的节点信息中,每个节点的位置用 left、right、top、bottom、width、height 字段描述。如果提供了 callback 回调函数,在执行 selectQuery 的 exec 方法后,节点信息会在 callback 中返回。
参数名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
id | Boolean | 否 | 是否返回节点 id | |
dataset | Boolean | 否 | 是否返回节点 dataset | |
rect | Boolean | 否 | 是否返回节点布局位置(left right top bottom) | |
size | Boolean | 否 | 是否返回节点尺寸(width height) | |
scrollOffset | Boolean | 否 | 是否返回节点的 scrollLeft scrollTop ,节点必须是 scroll-view 或者 viewport | |
properties | Array.<string> | 否 | 指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值, id class style 和事件绑定的属性值不可获取) | |
computedStyle | Array.<string> | 否 | 指定样式名列表,返回节点对应样式名的当前值 |
示例代码
Page({
data: {
NodesRefData: '',
},
queryNodeInfo() {
dlt
.createSelectorQuery()
.select('.scroll-view')
.fields(
{
id: false,
dataset: false,
rect: true,
size: true,
scrollOffset: true,
properties: ['scrollX', 'scrollY'],
computedStyle: ['margin', 'backgroundColor'],
},
(res) => {
console.log('节点信息', res);
this.setData({ NodesRefData: JSON.stringify(res) });
// res.dataset; // 节点的dataset
// res.width; // 节点的宽度
// res.height; // 节点的高度
// res.scrollLeft; // 节点的水平滚动位置
// res.scrollTop; // 节点的竖直滚动位置
// res.scrollX; // 节点 scroll-x 属性的当前值
// res.scrollY; // 节点 scroll-y 属性的当前值
// 此处返回指定要返回的样式名属性
// res.margin;
// res.backgroundColor;
}
)
.exec();
},
});