微信小程序进行条件渲染时出错.

微信小程序进行条件渲染时出错.
wxml部分:


<block wx:if=" {{name}} == '未填写' ">
  <view  class="title">
  <view class="lose"  bindtap="indexTitle1" >
    姓名修改
    <view class="line">view>
  view>
view>
<view class="input">
  <input type="text"   bindchange="name_change" value="{{name}}" />
view>
block>

js部分:

  data: {
    name:'未填写',
  },
 onLoad(options) {
        //获取个人信息
        var that = this;
        wx.request({
          url: 'https://mockapi.eolink.com/BXKX2X3656ec8f8e16eebf85c32070b3619376f6feb91b6/user/getUserInformation',
          method: 'GET',
          data: {
            openID: that.data.openid,
          },
          success: res => {
            console.log(res)
    
            that.setData({
              nick_name:res.data.nick_name,
              headImg: res.data.avatar_url,
              name: res.data.name,
              school: res.data.school,
              phone_number: res.data.phone_number,
              sex: res.data.sex,
              yuanxi: res.data.yuanxi,
              email:res.data.email,
              major:res.data.major,
              bankCard_number:res.data.bankCard_number,
            })
          }
        })

  },

页面渲染为:

img

name肯定是获取到了,值为昵称,但不知道为什么这一块还是渲染出来了。

望采纳。。

你没有写else,可参考这篇文章修改:
https://blog.csdn.net/u011733020/article/details/108281436

根据代码和页面渲染的情况来看,可能是在 onLoad 函数中获取到了 res.data.name 的值并更新到 name 的数据属性中后,小程序并没有自动更新页面上 wx:if="{{name}} == '未填写'" 的条件渲染。这可能是因为小程序中数据绑定的更新是异步的,所以需要手动调用 this.setData() 方法来更新视图。您可以在获取到 res.data.name 后,手动调用 this.setData() 方法来更新 name 属性,让小程序自动更新页面:


that.setData({
  name: res.data.name,
}, () => {
  console.log('更新后的name:', that.data.name);
});

注意,由于 setData() 方法是异步的,为了确保更新后的 name 数据属性已经更新完成,建议在 setData() 方法的回调函数中打印一下 name 的值,以确认更新是否成功。