dva-loading 使用问题

  1. models/order.js 为组件的model文件
  2. 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} />
    )
}

clipboard.png

Card中如果重新调用接口, C区域的Card 类似Tab,Tab点击时会重新发起请求,问题就是Tab 切换发起请求的时候,A区域,B区域loading都会重置,由true 变成false , 求各位大小牛指点下,应该怎么解决~ 谢谢!

阅读 7.5k
1 个回答

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']。这样就互相不影响了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏