下面代码中let param = e.currentTarget.dataset.param不能传值到param: input },请问这是为什么?carmodelname: async function (e) { let td = this.data let that = this let input = e.detail.value let param = e.currentTarget.dataset.param; let textStr = input.replace(/</?[^>]*>/g, ''); if(textStr.length<=0)return wx.cloud.callFunction({ name: 'checkmsgSec', data: { openid: that.openid, text: td.carmodelname + td.namea + td.nameb + td.title + td.explain + td.explain2 + td.explain3 + textStr, }, success: (res) => { if (res.result.errCode === 0) { if (res.result.result.label === 100) { console.log('合法文本') this.setData({ param: input }) } else { console.log('违法文本') wx.showToast({ title: "你输入的文本涉及敏感信息,请重新输入!", icon: "none", duration: 3000, }); this.setData({ param: '' }) } } else { console.log('其他异常,处理失败') } }, fail: () => { console.log('处理失败') } }) }
时间: 2024-02-16 15:04:04 浏览: 72
微信小程序事件对象中e.target和e.currentTarget的区别详解
5星 · 资源好评率100%
根据你提供的代码,问题出在这一行代码:
```
this.setData({ param: input })
```
这里的 `param` 是一个数据对象的属性,但是你却将 `param` 当做一个变量传递了进来,导致 `this.setData` 并不能够成功地将值传递给 `param` 属性。要修复这个问题,你需要将代码修改为:
```
this.setData({ [param]: input })
```
这样就可以将 `param` 转换成一个字符串,然后作为属性名传递给 `setData` 函数。
阅读全文