加载页面时判断用户是否填写过表单,填写过则表单为不可编辑状态,按钮文字为‘编辑’,点击按钮后表单可编辑,按钮文字变为‘提交’
以前按钮在表单后面,是没问题的,后来表单太长,我把按钮固定在页面下方,就出现了问题:真机调试中,即使用户填写过表单,表单是不可编辑状态,但按钮文字为‘提交’
下图是模拟器中,已经填写过的用户画面
点击编辑后:
下图是真机调试,已经填写过的用户画面,数据能回显,说明setdata没有问题,但文字显示为‘提交’
在真机调试appData中也确认过,此时buttonText是‘编辑’
以下是相关代码
wxml:
<cover-view class="bottom">
<button class="submit" form-type="submit">{{buttonText}}</button>
</cover-view>
wxss:
.bottom{
width:100%;
height:100px;
bottom:0;
background-color: white;
position: fixed;
padding-bottom: 20px;
padding-top:20px;
z-index:99;
}
.submit{
bottom: 0;
left: 0;
right:0;
}
js:
Pages({
data:{
buttonText:'提交',
}
btnSub(res){
//如果表单处于不可编辑状态,点击按钮变成可编辑状态,按钮文字从‘编辑’改成‘提交’
if(edit_disabled==true){
this.setData({
edit_disabled:false
buttonText:'提交',
})
}
}
//加载页面时,判断用户是否曾经填写表单,若填写过则显示表单项,按钮文字设为‘编辑’,若未填写则不对按钮文字作修改
onLoad(options){
let that=this;
const db=wx.cloud.database();
wx.cloud.callFunction({
name:'getOpenId',
success(res){
var openid=res.result.openid
db.collection('db').where({
_openid:openid
}).get().then(res=>{
if(res.data.length>0){
that.setData({
phone:res.data[last].phone,
buttonText:'编辑',
edit_disabled:true,
})
}
})
}
})
}
})
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
这种肯定是你代码的问题