wxml配置
<view class="add_data">
<view>赛事名称</view>
<input placeholder="请输入赛事名称" bindinput="addEvent" value='{<!-- -->{inputName}}'></input>
</view>
<view class="add_icon">
<button bindtap="addData">完成</button>
</view>
js配置
const DB = wx.cloud.database().collection("addlist")
let events = ""
Page({
data: {
inputName: ''
},
// 获取赛事名称
addEvent(event) {
events = event.detail.value
},
addData() {
if(!events.trim()){
wx.showToast({
title: '请完善全部信息',
icon: 'none',
mask: true
})
return
}
wx.showLoading({
title: '正在提交中',
mask: true
})
let that = this;
DB.add({
data: {
events: events
},
success(res) {
console.log("添加成功", res)
wx.hideLoading()
that.setData({
inputName: ''
})
},
fail(res) {
console.log("添加失败", res)
}
})
}
})
代码如上,出现的问题是,点了完成后,添加数据到云数据库成功,输入框也成功清空。
但不输入任何信息,重复点击“完成”,会不断添加数据,数据是之前输入过的,返回上一个页面回来也一样
输入数据
添加成功
再次点击完成,不输入数据
再次添加成功
因为你的events没有做置空处理,只是input框的值清空了