vue 里jsx语法如何使用 原生点击事件?

1.代码如下

        renderContent(h, { node, data, store }) {
            return (
            <span class="custom-tree-node">
                <span class="iconfont icon-wenjianjia"></span>
                <span class="tree-node-name">{node.label}</span>
                <el-dropdown class="MenueTreeDrop" trigger="click">
                    <span class="el-dropdown-link">
                        <i class="el-icon-arrow-right"></i>
                    </span>
                    <el-dropdown-menu slot="dropdown">
                        <el-dropdown-item on-click={ () => this.treeAddShowDialog(data,'add')}>增加</el-dropdown-item>
                        <el-dropdown-item on-click={ () => this.treeAddShowDialog(data,'edite')}>修改</el-dropdown-item>
                        <el-dropdown-item on-click={ () => this.delWorkUnite(data)}>删除</el-dropdown-item>
                    </el-dropdown-menu>
                </el-dropdown>
            </span>);
        },

2.发现无论是on-click 还是onClick都不生效。
原因是element ui里下拉组件里如果写点击事件,必须@native.click,去使用原生点击事件。可是原生点击事件在jsx语法里并不支持。
3.这里我究竟该如何写点击事件?谢谢了

阅读 16.1k
3 个回答

nativeOnClick={ () => this.treeAddShowDialog(data,'add')}

clipboard.png

 <button onClick={this.onClick}>点击</button>

我直接onClick也触发了
感觉可能是场景不同
触发方式不同吧

``
<span

                    class="ivu-table-filter ml-5"

                    nativeOnClick={() => {

letpopDom=document.querySelector(".poptip-custom");

popDom.classList.remove("custom-hide");

popDom.classList.add("custom-show");

                    }}

>
``
我这样写报错,The .native modifier for v-on is only valid on components but it was used on <span>,仅仅针对组件使用,有啥可解决的方法吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题