swan.createSelectorQuery

解释: 返回一个 SelectorQuery 对象实例。可以在这个实例上使用 select 等方法选择节点,并使用 boundingClientRect 等方法选择需要查询的信息。

方法参数

返回值

SelectorQuery

示例

在开发者工具中预览效果

扫码体验

swan.createSelectorQuery - 图1请使用百度APP扫码

图片示例

swan.createSelectorQuery - 图2

swan.createSelectorQuery - 图3

swan.createSelectorQuery - 图4

代码示例

  1. <view class="container">
  2. <view class="card-area">
  3. <movable-area>
  4. <movable-view class="target" x="{{x}}" y="{{y}}" direction="all" bindchange="queryNodeInfo">
  5. Drag
  6. </movable-view>
  7. </movable-area>
  8. <view s-for="item in metrics" class="list-area border-bottom">
  9. <text class="list-item-key-4">{{item.key}}</text>
  10. <text class="list-item-value">{{item.val}}</text>
  11. </view>
  12. </view>
  13. </view>
  1. Page({
  2. data: {
  3. metrics: []
  4. },
  5. onReady() {
  6. this.queryNodeInfo();
  7. },
  8. queryNodeInfo() {
  9. const query = swan.createSelectorQuery();
  10. query.select('.target').boundingClientRect();
  11. query.exec(res => {
  12. const rect = res[0]
  13. if (rect) {
  14. const metrics = []
  15. for (const key in rect) {
  16. if (key !== 'id' && key !== 'dataset') {
  17. const val = rect[key]
  18. metrics.push({key, val})
  19. }
  20. }
  21. this.setData({metrics})
  22. }
  23. });
  24. }
  25. });
  1. movable-view {
  2. display: flex;
  3. align-items: center;
  4. justify-content: center;
  5. height: 100rpx;
  6. width: 100rpx;
  7. background: #38f;
  8. color: #fff;
  9. }
  10. movable-area {
  11. height: 400rpx;
  12. width: 400rpx;
  13. background-color: #ccc;
  14. overflow: hidden;
  15. }