jd-opensource / jd-opensource/taro-ui

Swiper 添加 onChange 事件后,如果 Swiper-Item 内部有 Picker , 则Picker 的 onChange 事件不会被触发。

Open
#1,339 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
4.7k
Forks
740
PR merge metrics
No merged PRs in 30d

Description

**问题描述**
Swiper 组件添加 onChange 事件后,如果 Swiper-Item 内部有 Picker 组件, 则 Picker 的 onChange 事件不会被触发。

**复现步骤**

1. Swiper 组件上添加 onChange 事件
2. SwiperItem 内部添加的 Picker 组件
3. Picker 组件切换选项,Picker 的 onChange 事件没有触发。

```tsx
{console.log('swiper onchange fn:', val)}}>
{tabbar.map((el) => {
return (

{
console.log('picker onchange fn:', val);
}}
>
123

);
})}

```

**期望行为**
Picker 组件中的 onChange 事件被正常触发。

**报错信息**
没有报错信息,压根就不执行 Picker 组件的 onChange 事件。

**系统信息**
Taro CLI 3.1.4 environment info:
System:
OS: macOS High Sierra 10.13.6
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.16.0 - ~/.nvm/versions/node/v10.16.0/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 6.9.0 - ~/.nvm/versions/node/v10.16.0/bin/npm
npmPackages:
@tarojs/components: 3.1.4 => 3.1.4
@tarojs/mini-runner: 3.1.4 => 3.1.4
@tarojs/react: 3.1.4 => 3.1.4
@tarojs/runtime: 3.1.4 => 3.1.4
@tarojs/taro: 3.1.4 => 3.1.4
@tarojs/webpack-runner: 3.1.4 => 3.1.4
babel-preset-taro: 3.1.4 => 3.1.4
eslint-config-taro: 3.1.4 => 3.1.4
react: ^17.0.0 => 17.0.2

**补充信息**
只有把 Swiper 组件的 onChange 事件去掉后,才会正常触发 Picker 的 onChange 钩子。

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.