Skip to content

Commit 97a9762

Browse files
committed
feat(Util): 新增 NodeUtil 工具类 (#788)
该工具类对微信 wxml 节点选择 api 进行封装,方便获取节点信息
1 parent 89d7cff commit 97a9762

File tree

3 files changed

+77
-0
lines changed

3 files changed

+77
-0
lines changed

dist/utils/node-util.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/dist/utils/node-util.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
class NodeUtil {
2+
/**
3+
* 获取组件内部节点位置信息(单个)
4+
* @param component 组件实例
5+
* @param selector {String} css选择器
6+
* @returns boundingClientRect() 回调函数的值
7+
*/
8+
async getNodeRectFromComponent(component, selector) {
9+
return await new Promise((resolve) => {
10+
component
11+
.createSelectorQuery()
12+
.select(selector)
13+
.boundingClientRect((res) => {
14+
resolve(res)
15+
}).exec()
16+
})
17+
}
18+
19+
/**
20+
* 获取组件内部节点位置信息(多个)
21+
* @param component 组件实例
22+
* @param selector {String} css选择器
23+
* @returns boundingClientRect() 回调函数的值
24+
*/
25+
async getNodesRectFromComponent(component, selector) {
26+
return await new Promise((resolve) => {
27+
component
28+
.createSelectorQuery()
29+
.selectAll(selector)
30+
.boundingClientRect((res) => {
31+
resolve(res)
32+
}).exec()
33+
})
34+
}
35+
}
36+
37+
const nodeUtil = new NodeUtil()
38+
export default nodeUtil

src/utils/node-util.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
class NodeUtil {
2+
/**
3+
* 获取组件内部节点位置信息(单个)
4+
* @param component 组件实例
5+
* @param selector {String} css选择器
6+
* @returns boundingClientRect() 回调函数的值
7+
*/
8+
async getNodeRectFromComponent(component, selector) {
9+
return await new Promise((resolve) => {
10+
component
11+
.createSelectorQuery()
12+
.select(selector)
13+
.boundingClientRect((res) => {
14+
resolve(res)
15+
}).exec()
16+
})
17+
}
18+
19+
/**
20+
* 获取组件内部节点位置信息(多个)
21+
* @param component 组件实例
22+
* @param selector {String} css选择器
23+
* @returns boundingClientRect() 回调函数的值
24+
*/
25+
async getNodesRectFromComponent(component, selector) {
26+
return await new Promise((resolve) => {
27+
component
28+
.createSelectorQuery()
29+
.selectAll(selector)
30+
.boundingClientRect((res) => {
31+
resolve(res)
32+
}).exec()
33+
})
34+
}
35+
}
36+
37+
const nodeUtil = new NodeUtil()
38+
export default nodeUtil

0 commit comments

Comments
 (0)