Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: 修复select组件change事件的选中数据问题 #11437

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Bitzo
Copy link

@Bitzo Bitzo commented Dec 27, 2024

What

解决 #11431 ,当设置了 selectMode 后触发的 change 事件未能正确包含 selectedItems

Why

使用了 BaseTransferRenderer 进行渲染,但是未实现 change 事件中透传 selectedItems

How

BaseTransferRenderer 的 chang 事件处理器中透传选中的值

@Bitzo Bitzo changed the title 修复select组件change事件的选中数据问题 fix: 修复select组件change事件的选中数据问题 Dec 27, 2024
@@ -347,7 +348,8 @@ export class BaseTransferRenderer<
resolveEventData(this.props, {
value: newValue,
options,
items: options // 为了保持名字统一
items: options, // 为了保持名字统一
selectedItems
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

建议改成 props.selectedOptions 因为 value 可能是各种格式的值,比如逗号分隔的字符串

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

props.selectedOptions 中的数据并非预期的本次 change 事件已选中的选项数据,而是上一次选中的数据,由于对项目不是非常熟悉,猜测这里 table 等模式是由 transfer 组件触发渲染器事件,而非 select 组件本身,触发了渲染器事件后才调用的 onChange,所以此时的 props.selectedOptions 还未更新。
至于 value,我看了下逗号分割的字符串也是后续代码去处理的,原始的 props.value 并非逗号分割的字符串
您可以再确认下

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants