问题1:在dva中models中调用state中的函数

namespace: 'DataDictionaryModel',
    state:{
    currentDictId:0,
   },

有如上的一个model,我需要在effets的某一个函数中调用currentDictId写法如下

* fetchItem({payload}, {call, put, select})
{
    const dictId = yield select(state => state.DataDictionaryModel.currentDictId);
},

使用state => state.DataDictionaryModel.currentDictId我们可以调用多个model中的值,只要这个model存在

问题2:在dva中使用回调函数

dispatch({
    type: 'TestCaseExecuteModel/fetchCaseDetail',
    payload: {
        testCaseId: currentTestCaseId,
    },
    callback: (response) => {
        this.setState({
            pageHeaderTitle: `执行[${response.testCaseName}]测试用例`,
        })
    }
});

注意以上的callback函数,当TestCaseExecuteModel/fetchCaseDetail函数执行完成后,获取到api数据后,我们可以通过回调在页面中执行更多的操作 在对应的model中我们这样实现回调

*fetchCaseDetail({payload, callback}, {call, put})
{
    const reponse = yield call(TestCaseService.getCaseDetail, payload.testCaseId);
    if (callback && typeof callback === 'function') {
        callback(reponse.data)
    }
    yield put({
        type: 'save',
        payload: {
            CaseDetail: reponse.data
        }
    })
},

其中

if (callback && typeof callback === 'function') {
    callback(reponse.data)
}

就是获取到数据之后将数据回调。

问题3:在antd中实现表格隔行渲染不同的颜色

rowClassName = {(record, index)=>{
    let className = 'light-row';
    if (index % 2 === 1) className = 'dark-row';
    return className;
  }
}

results matching ""

    No results matching ""