初始化 antd-pro
This commit is contained in:
54
admin-web/src/models/list.js
Normal file
54
admin-web/src/models/list.js
Normal file
@@ -0,0 +1,54 @@
|
||||
import { queryFakeList, removeFakeList, addFakeList, updateFakeList } from '@/services/api';
|
||||
|
||||
export default {
|
||||
namespace: 'list',
|
||||
|
||||
state: {
|
||||
list: [],
|
||||
},
|
||||
|
||||
effects: {
|
||||
*fetch({ payload }, { call, put }) {
|
||||
const response = yield call(queryFakeList, payload);
|
||||
yield put({
|
||||
type: 'queryList',
|
||||
payload: Array.isArray(response) ? response : [],
|
||||
});
|
||||
},
|
||||
*appendFetch({ payload }, { call, put }) {
|
||||
const response = yield call(queryFakeList, payload);
|
||||
yield put({
|
||||
type: 'appendList',
|
||||
payload: Array.isArray(response) ? response : [],
|
||||
});
|
||||
},
|
||||
*submit({ payload }, { call, put }) {
|
||||
let callback;
|
||||
if (payload.id) {
|
||||
callback = Object.keys(payload).length === 1 ? removeFakeList : updateFakeList;
|
||||
} else {
|
||||
callback = addFakeList;
|
||||
}
|
||||
const response = yield call(callback, payload); // post
|
||||
yield put({
|
||||
type: 'queryList',
|
||||
payload: response,
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
reducers: {
|
||||
queryList(state, action) {
|
||||
return {
|
||||
...state,
|
||||
list: action.payload,
|
||||
};
|
||||
},
|
||||
appendList(state, action) {
|
||||
return {
|
||||
...state,
|
||||
list: state.list.concat(action.payload),
|
||||
};
|
||||
},
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user