- models/order.js 为组件的model文件
- index.js中配置loading
import createLoading from 'dva-loading'
app.use(createLoading({
globale: false,
models: {
order: false
}
}))
问题是,models/order.js 中可能存在多个接口,多个state, 在views/order中存在Table,Card等多个组件,每个组件都使用loading 属性,使用方式
render(){
const {loading} = this.props
// ....省略
return (
<Table loading= {loading.global}/>
<Card loading = {loading.global} />
)
}
Card中如果重新调用接口, C区域的Card 类似Tab,Tab点击时会重新发起请求,问题就是Tab 切换发起请求的时候,A区域,B区域loading都会重置,由true 变成false , 求各位大小牛指点下,应该怎么解决~ 谢谢!
loading可以细化到每个model里的effect,比如order model里有三个effect,分别是fetchOrder, fetchOrderTran, fetchOrderOps分别对应A,B,C区域。loading对应可以为loading.effects['order/fetchOrder'],loading.effects['order/fetchOrderTran'],loading.effects['order/fetchOrderOps']。这样就互相不影响了。