react中model 、常用方法
// 查询
*fetch(
{
payload: { config, pageIndex = 1, pageSize, values, sortData },
},
{ call, put, select }
) {
// 查询条件
const { queryValues, sortValues, data } = yield select(state => state[config.model]);
let queryTemp;
if (values || values === '') {
queryTemp = values;
} else {
queryTemp = queryValues;
}
let sortTemp;
if (sortData || sortData === '') {
sortTemp = sortData;
} else {
sortTemp = sortValues;
}
// 页码信息
let size;
if (pageSize) {
size = pageSize;
} else if (data.pagination.pageSize) {
size = data.pagination.pageSize;
} else {
size = PAGESIZE;
}
yield put({ type: 'save', payload: { loading: true } });
const response = yield call(queryCommon, config, pageIndex, size, queryTemp, sortTemp);
yield put({
type: 'save',
payload: {
data: {
list: response ? response.rows : [],
pagination: {
total: response ? response.total : 0,
pageIndex,
pageSize: size,
},
},
queryValues: queryTemp,
sortValues: sortTemp,
},
});
yield put({ type: 'save', payload: { loading: false } });
},
*add(
{
payload: { params, config },
callback,
},
{ call, put }
) {
yield put({ type: 'save', payload: { loading: true } });
const response = yield call(addCommon, params, config);
yield put({ type: 'save', payload: { loading: false } });
yield put({ type: 'fetch', payload: { config } });
if (callback) callback(response);
},
*update(
{
payload: { params, config },
callback,
},
{