收藏
回答

小程序自定义组件slot节点的dataset如何获取

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug 自定义组件 工具 6.6.1 1.9.1

希望在自定义组件根节点捕获slot节点内的事件的dataset,但没有获取到




最后一次编辑于  2018-03-27  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

5 个回答

  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2018-03-29

    你好,这个是我们的一个限制。组件无法获取自己slot中实际节点的相关信息。

    2018-03-29
    赞同
    回复
  • 酱鲍
    酱鲍
    2018-03-28

    @璋卿 

    我是在根节点使用 'capture-bind:tap="xxx"'来捕获事件,也试了bindtap在冒泡时候获取事件,同样没拿到dataset。 主要场景是在写一个埋点脚本时,希望做一个父容器组件,每个页面引入这个父容器组件,这样可以在根元素代理所有点击事件

    2018-03-28
    赞同
    回复
  • 璋卿
    璋卿
    2018-03-28

    我好像明白了你的意思。。貌似,你的组件按钮没有给bindtap绑定啊

    2018-03-28
    赞同
    回复
  • 酱鲍
    酱鲍
    2018-03-28

    @璋卿 

    我在根节点捕获插入到<slot>的元素的点击事件(即我代码中button元素的点击),可以捕获到事件,但是dataset为空的,也就是我这边,你代码中的evt.currentTarget.dataset为空

    2018-03-28
    赞同
    回复
  • 璋卿
    璋卿
    2018-03-28

    /**
       * 组件的方法列表
       */
      methods: {
        onTapForToastTab(evt){
          var config = {
            tabIndex: evt.currentTarget.dataset.index
          };
          this.triggerEvent("onTapForToastTab", config)

        }

    我是在自定义组件的js中绑定了事件,然后传参给使用的地方,比如我这种写法就想获取到tabIndex,就在使用它的方法里通过event.detail.tabIndex获取,自定义组件的属性返回要通过triggerEvent来向目标方法传参的,不知道你问的是不是这个...

    2018-03-28
    赞同
    回复