Bug Type: Component
Environment
- Vue Version:
3.4.29
- Element Plus Version:
2.7.7
- Browser / OS:
Chrome 125.0.6422.78/ Windows 10 专业版
- Build Tool:
Vite
Reproduction
Related Component
el-tabs
Reproduction Link
Element Plus Playground
Steps to reproduce
What is Expected?
在tab-click的事件中打印绑定的值应该为点击的tab所绑定的值
What is actually happening?
实际在tab-click的事件中打印绑定的值为上一个tab的值
Additional comments
(empty)
7条答案
按热度按时间wfveoks01#
流程是先点击后切换,
tab-click
是点击的时候触发,要获取点击后数据使用tab-change
事件 #76289jyewag02#
流程是先点击后切换,
tab-click
是点击的时候触发,要获取点击后数据使用tab-change
事件 #7628他提的应该没问题的,
tabClick
是在设置值之后触发的。34gzjxbg3#
The current logic is correct, we should keep the original event dispatch order, refer to #10519 (comment)
pkbketx94#
The current logic is correct, we should keep the original event dispatch order, refer to #10519 (comment)
看到了,两年前就有异议了(好家伙),之前谈论的分歧在于没有传递beforeLeave的处理,由于该函数是异步,虽然设置值逻辑在前面,还是无法在主流程完成时获得最新的值。但默认情况没有传递before钩子时,这样异步是否合理?
b4qexyjb5#
@zhixiaotong 我认为保持目前逻辑比较好,如果按照你 pr 中进行修改,
tab-click
和tab-change
似乎就重复了。ozxc1zmp6#
@zhixiaotong 我认为保持目前逻辑比较好,如果按照你 pr 中进行修改,
tab-click
和tab-change
似乎就重复了。这个看你们的决定了,不会重复,change只会值更改时触发,但click不同,点一次就会触发一次。我把那个pr临时关闭了。
23c0lvtd7#
@zhixiaotong 我认为保持目前逻辑比较好,如果按照你 pr 中进行修改,
tab-click
和tab-change
似乎就重复了。这个看你们的决定了,不会重复,change只会值更改时触发,但click不同,点一次就会触发一次。我把那个pr临时关闭了。
其实这个存在争议性的,答案也不一定就是对的。