收藏
回答

为什么拓展表单赋值数据,页面不显示数据?

代码如下,赋值后,调试输出数据已经改变,但是页面表单始终不显示,已尝试使用以下三种方法,均无作用。

// JS
  */
  data: {
    // 表单数据
    formData: {
      shop_name:''
    },
    rules: [{
      name: 'shop_name',
      rules: [{
        required: true,
        message: '店铺名称必填'
      }, {
        minlength: 4,
        message: '店铺名称最短为4个字符'
      }, {
        maxlength: 35,
        message: '店铺名称最长为35个字符'
      }]
    }]
  },
  readInfo() {
    var that = this
    // 调用云函数
    wx.cloud.callFunction({
      name: 'getxxx',
      data: {},
      success: res => {
        console.log('getxxx: ', JSON.stringify(res))
        if (res) {
          let str = "formData.shop_name";
          // 第一种
          that.data.formData.shop_name = res.result.shop_name;
          // 第二种
          that.setData({
            [`formData.shop_name`]: res.result.shop_name
          })
          // 第三种
          that.setData(
            {
              formData:{
                  shop_name: res.result.shop_name
              }
            })
        }
      },
      fail: err => {
        
      }
    })
  }

 // 页面结构如下
  <mp-form id="form" rules="{{rules}}" models="{{formData}}">
      <mp-cell show-error prop="shop_name">
        <input bindinput="formInputChange" minlength="4" maxlength="35" data-field="shop_name" class="weui-input"/>
      </mp-cell>
  </mp-form>

// 确认相关组件已导入
    "usingComponents": {
      "mp-toptips": "../components/toptips/toptips",
    "mp-cells": "../components/cells/cells",
    "mp-cell": "../components/cell/cell",
    "mp-form": "../components/form/form"
  }
最后一次编辑于  03-25
回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    发表于移动端
    03-25

    光看,你的第一种和第三种,肯定不对。第二种写法参考下方截图

    03-25
    有用 1
    回复 20
    • Conch
      Conch
      03-25
      没错,我就是这样写的,表单页面并不刷新
      03-25
      回复
    • Mr.Zhao
      Mr.Zhao
      03-25回复Conch
      单纯考虑代码写法,不考虑其它因素,代码是没问题的。
      03-25
      回复
    • Conch
      Conch
      03-25
      我使用的是拓展组件的表单组件,我怀疑是不是这个组件的问题?
      03-25
      回复
    • Mr.Zhao
      Mr.Zhao
      03-25回复Conch
      以你的意思,就是我的写法也不会生效喽?https://developers.weixin.qq.com/s/tHZP15ml7vgt  你自己运行下试试,这是示例代码片段,比较下和你的有哪里不同
      03-25
      回复
    • Mr.Zhao
      Mr.Zhao
      03-25回复Conch
      不管再怎么怀疑,最起码动手试试吧。而且扩展组件也是有源码的。
      03-25
      回复
    查看更多(15)
登录 后发表内容
问题标签