写在前面:
按照标题内容搜,只能搜到计算属性和watch监听的原理,因为他压根就是生效了!但是有点小瑕疵~
核心代码是这样的:

data ({
  return {
    projectInfo: {},
    form: this.$form.createForm(this, {
      onValuesChange: (props, values) =>{if (values ==this.testInfo) returnobject.assign(this.testInfo, values)}
    })
  }
},
computed: {
  districts ({ 
    const obj ={}
    if (this.testInfo.city){
      for (const key in this.dicts.district) {
        if (key.startswith(this.testInfo.city.slice(0,4)))  {obj[key] = this.dicts.district[key]
      }
    }
    return obj
    }
    else {
    return this.dicts.district}
  }
}

看代码看了很多遍感觉是没有问题的,但是计算属性就只在最开始加载页面的时候执行了一次,后来找了别人才发现是projectInfo: {},的问题…
改成projectInfo: {city:’’},就好了!
大概是因为监听机制的问题,
先记录下来,等看了原理再来补充

Logo

前往低代码交流专区

更多推荐