jd-opensource / jd-opensource/taro-ui

Vue版本的部分组件事件触发时机bug,只支持方法名,不支持方法名(参数)进行调用

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

Description

**问题描述**
Vue版本的Taro UI组件 `AtList`和`AtlistItem`中的click事件无法添加参数进行调用,如果在事件名称中添加了参数会导致进入该页面被立刻调用,只有使用方法名称字符串的形式才可以在被点击的时候正确调用,不可以添加括号(参数)的形式调用。
依赖信息
```json
"dependencies": {
"@babel/runtime": "^7.7.7",
"@tarojs/components": "3.0.14",
"@tarojs/runtime": "3.0.14",
"@tarojs/taro": "3.0.14",
"taro-ui-vue": "^1.0.0-alpha.13",
"vue": "^2.5.0",
"vue-template-compiler": "^2.5.0"
},
```

**复现步骤**
以下代码在调用时,只有第一个会在点击时调用;
其他的在进入页面时无需点击就会直接执行。
```vue




```

```js
fastClick() {
console.log('点击了')
},
```

**期望行为**
期望事件触发按照Vue官方文档使用$emit的形式进行触发(v-on:事件名【可以缩写成@事件名】)而不是使用数据绑定(v-bind)的形式进行,使用数据绑定的形式,无法在事件名后面添加调用该方法的参数,因为会加载后立刻执行。

**报错信息**
上方代码所属页面加载完成后,未进行任何操作,执行后结果如下
![image](https://user-images.githubusercontent.com/26111488/101712602-da006680-3ad0-11eb-946f-cca2c5e79d08.png)

**系统信息**

- Taro 版本 [v3.0.14]
- Taro UI 版本 ["taro-ui-vue": "^1.0.0-alpha.13"]
- 报错平台 [微信小程序]

**补充信息**
个人认为原因是由于没有使用$emit的形式触发事件才出现的这个问题

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.