jd-opensource / jd-opensource/taro-ui
Swiper 添加 onChange 事件后,如果 Swiper-Item 内部有 Picker , 则Picker 的 onChange 事件不会被触发。
- 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
Assessment
This issue has not been assessed yet.