tabPanes.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { createSlice } from '@reduxjs/toolkit';
  2. export const slice = createSlice({
  3. name: 'tabPanes',
  4. initialState: {
  5. activeTab: '',
  6. panes:[],
  7. toUnRead:false
  8. },
  9. reducers: {
  10. close: (state,action) => { //关闭tab
  11. state.panes.splice(action.payload.del,1);
  12. state.activeTab = action.payload.active;
  13. },
  14. closeOther:(state,action) => { //关闭其他tab
  15. const pane = state.panes[action.payload.del];
  16. state.panes = [pane];
  17. //state.activeTab = action.payload.active;
  18. },
  19. add: (state,action) => { //打开新tab
  20. state.panes.push(action.payload);
  21. state.activeTab = action.payload.key;
  22. state.toUnRead = action.payload.isUnRead; //是否筛选未读
  23. },
  24. active:(state,action) => { //切换tab
  25. state.activeTab = action.payload.idName; //当前激活的tab
  26. state.toUnRead = action.payload.isUnRead; //是否筛选未读
  27. },
  28. panesNow: (state, action) => { //切换tab
  29. state.panes = [];
  30. },
  31. },
  32. });
  33. export const { close, closeOther, active, add, panesNow } = slice.actions;
  34. export default slice.reducer;