style: update back-top style

This commit is contained in:
vben 2020-12-11 00:06:43 +08:00
parent dddda5b296
commit 8f9eff78aa
6 changed files with 39 additions and 19 deletions

View File

@ -4,6 +4,10 @@
- 移除左侧菜单搜索,新增顶部菜单搜索功能 - 移除左侧菜单搜索,新增顶部菜单搜索功能
### 🎫 Chores
- 返回顶部样式调整,避免遮住其他元素
## 2.0.0-rc.13 (2020-12-10) ## 2.0.0-rc.13 (2020-12-10)
## (破坏性更新) Breaking changes ## (破坏性更新) Breaking changes

View File

@ -1,6 +1,6 @@
import ClickOutSide from './src/index.vue';
import { withInstall } from '../util'; import { withInstall } from '../util';
import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
export const ClickOutSide = createAsyncComponent(() => import('./src/index.vue'));
withInstall(ClickOutSide); withInstall(ClickOutSide);
export { ClickOutSide };

View File

@ -7,6 +7,11 @@
width: 100%; width: 100%;
} }
.ant-back-top {
right: 20px;
bottom: 20px;
}
.collapse-container__body { .collapse-container__body {
> .ant-descriptions { > .ant-descriptions {
margin-left: 6px; margin-left: 6px;

View File

@ -6,7 +6,7 @@ import { createRouter, createWebHashHistory } from 'vue-router';
import { createGuard } from './guard/'; import { createGuard } from './guard/';
import { basicRoutes } from './routes/'; import { basicRoutes } from './routes/';
import { scrollBehavior } from './scrollBehaviour'; import { scrollBehavior } from './scrollBehavior';
export const hashRouter = createWebHashHistory(); export const hashRouter = createWebHashHistory();

View File

@ -1,16 +1,25 @@
import { defineAsyncComponent } from 'vue'; import { defineAsyncComponent } from 'vue';
import { Spin } from 'ant-design-vue'; import { Spin } from 'ant-design-vue';
import { noop } from '/@/utils/index';
interface Options {
size?: 'default' | 'small' | 'large';
delay?: number;
timeout?: number;
loading?: boolean;
retry?: boolean;
}
export function createAsyncComponent(loader: any) { export function createAsyncComponent(loader: Fn, options: Options = {}) {
const { size = 'small', delay = 100, timeout = 3000, loading = true, retry = true } = options;
return defineAsyncComponent({ return defineAsyncComponent({
loader: loader, loader,
loadingComponent: <Spin spinning={true} />, loadingComponent: loading ? <Spin spinning={true} size={size} /> : undefined,
// The error component will be displayed if a timeout is // The error component will be displayed if a timeout is
// provided and exceeded. Default: Infinity. // provided and exceeded. Default: Infinity.
timeout: 3000, timeout,
// Defining if component is suspensible. Default: true. // Defining if component is suspensible. Default: true.
// suspensible: false, // suspensible: false,
delay: 100, delay,
/** /**
* *
* @param {*} error Error message object * @param {*} error Error message object
@ -18,15 +27,17 @@ export function createAsyncComponent(loader: any) {
* @param {*} fail End of failure * @param {*} fail End of failure
* @param {*} attempts Maximum allowed retries number * @param {*} attempts Maximum allowed retries number
*/ */
onError(error, retry, fail, attempts) { onError: !retry
if (error.message.match(/fetch/) && attempts <= 3) { ? noop
// retry on fetch errors, 3 max attempts : (error, retry, fail, attempts) => {
retry(); if (error.message.match(/fetch/) && attempts <= 3) {
} else { // retry on fetch errors, 3 max attempts
// Note that retry/fail are like resolve/reject of a promise: retry();
// one of them must be called for the error handling to continue. } else {
fail(); // Note that retry/fail are like resolve/reject of a promise:
} // one of them must be called for the error handling to continue.
}, fail();
}
},
}); });
} }