ayiaq1 / el-tree-select

基于element-ui2.x扩展下拉树
224 stars 94 forks source link

@click @click.native @focus都无法触发 #53

Closed 068089dy closed 4 years ago

ayiaq1 commented 4 years ago

你想要的结果是什么,通过什么触发?支持render

068089dy commented 4 years ago

你想要的结果是什么,通过什么触发?支持render

就是普通的点击,点击控件后执行一个方法,像这样:

<el-tree-select
            ...
            @click.native="_clickAddReportType"
          />
ayiaq1 commented 4 years ago

Demo

API

甚至可以使用render方式,自定义click

 <el-tree-select  v-model="values" :treeRenderFun="_renderFun"  ref="treeSelect"/>

       // 自定义render
        _renderFun(h, { node, data, store }) {
            return (
                <span class='custom-tree-node'>
                    <link on-click={()=>this._nodeClick(node,data)}>{node.label}</link>
                </span>
            );
        }
068089dy commented 4 years ago

image 我想点的是最上面那个框,不是下面的列表

ayiaq1 commented 4 years ago

没有相关的API ,但是可以通过 this.$refs.treeSelect._popoverShowFun() 复写
也可以 this.$refs.treeSelect.$refs.select去处理el-select 为什么要触发这个事件?

068089dy commented 4 years ago

试了下el-tree的确不支持click.

我把ElTreeSelect.vue506行修改了一下,让focus事件继续传递,就可以捕获事件了.

// 显示弹出框的时候容错,查看是否和el宽度一致
    _popoverShowFun(val) {
      this._updateH()
      this.$emit('focus')
    },
068089dy commented 4 years ago

至于为什么要触发这个事件,

产品总会给你想不到的需求.