element-plus [Component] [tabs] 使用tabs标签页组件,在tab-click事件中打印v-model绑定的值为之前的值

bvjveswy  于 5个月前  发布在  其他
关注(0)|答案(7)|浏览(59)

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

  • el-tabs

Element Plus Playground

Steps to reproduce

What is Expected?

在tab-click的事件中打印绑定的值应该为点击的tab所绑定的值

What is actually happening?

实际在tab-click的事件中打印绑定的值为上一个tab的值

Additional comments

(empty)

wfveoks0

wfveoks01#

流程是先点击后切换, tab-click 是点击的时候触发,要获取点击后数据使用 tab-change 事件 #7628

9jyewag0

9jyewag02#

流程是先点击后切换, tab-click 是点击的时候触发,要获取点击后数据使用 tab-change 事件 #7628

他提的应该没问题的, tabClick 是在设置值之后触发的。

34gzjxbg

34gzjxbg3#

The current logic is correct, we should keep the original event dispatch order, refer to #10519 (comment)

pkbketx9

pkbketx94#

The current logic is correct, we should keep the original event dispatch order, refer to #10519 (comment)

看到了,两年前就有异议了(好家伙),之前谈论的分歧在于没有传递beforeLeave的处理,由于该函数是异步,虽然设置值逻辑在前面,还是无法在主流程完成时获得最新的值。但默认情况没有传递before钩子时,这样异步是否合理?

b4qexyjb

b4qexyjb5#

@zhixiaotong 我认为保持目前逻辑比较好,如果按照你 pr 中进行修改, tab-clicktab-change 似乎就重复了。

ozxc1zmp

ozxc1zmp6#

@zhixiaotong 我认为保持目前逻辑比较好,如果按照你 pr 中进行修改, tab-clicktab-change 似乎就重复了。

这个看你们的决定了,不会重复,change只会值更改时触发,但click不同,点一次就会触发一次。我把那个pr临时关闭了。

23c0lvtd

23c0lvtd7#

@zhixiaotong 我认为保持目前逻辑比较好,如果按照你 pr 中进行修改, tab-clicktab-change 似乎就重复了。

这个看你们的决定了,不会重复,change只会值更改时触发,但click不同,点一次就会触发一次。我把那个pr临时关闭了。

其实这个存在争议性的,答案也不一定就是对的。

相关问题