从route获取参数,给query对象赋值后,el-input不能不能进行编辑
原因在于在Vue实例创建时,obj.b并未声明,因此就没有被Vue转换为响应式的属性,自然就不会触发视图的更新,这时就需要使用Vue的全局api $set():
$set()方法相当于手动的去把obj.b处理成一个响应式的属性,此时视图也会跟着改变了:
created() {
this.crud.url = 'api/dataAwardcertificate'
getRouteQueryCondition(this.$route,this.query)
this.crud.refresh()
},
export function getRouteQueryCondition(route,query){
//查询条件赋值
if(route.params !=null &&JSON.stringify(route.params) != '{}'){
const data = route.params
const type = typeof data
if(type === 'object') {
let aProps = Object.getOwnPropertyNames(data)
aProps.forEach(item=>{
//query[item] = data[item] 改为
Vue.set(query, item, data[item])
//this.$set(query, item, data[item])
})
}
}
}