codecamp

Vant4 Loading 加载

介绍

加载图标,用于表示加载中的过渡状态。

引入

通过以下方式来全局注册组件,更多注册方式请参考组件注册

import { createApp } from 'vue';
import { Loading } from 'vant';

const app = createApp();
app.use(Loading);

代码演示

加载类型

通过 ​type​ 属性可以设置加载图标的类型,默认为 ​circular​,可选值为 ​spinner​。

<van-loading />

<van-loading type="spinner" />

自定义颜色

通过 ​color​ 属性设置加载图标的颜色。

<van-loading color="#1989fa" />

<van-loading type="spinner" color="#1989fa" />

自定义大小

通过 ​size​ 属性设置加载图标的大小,默认单位为 ​px​。

<van-loading size="24" />

<van-loading type="spinner" size="24px" />

加载文案

可以使用默认插槽在图标的右侧插入加载文案。

<van-loading size="24px">加载中...</van-loading>

垂直排列

设置 ​vertical​ 属性后,图标和文案会垂直排列。

<van-loading size="24px" vertical>加载中...</van-loading>

自定义文案颜色

通过 ​color​ 或者 ​text-color​ 属性设置加载文案的颜色。

<!-- 可修改文案和加载图标的颜色 -->
<van-loading color="#0094ff" />

<!-- 只修改文案颜色 -->
<van-loading text-color="#0094ff" />

自定义图标

通过 ​icon​ 插槽可以自定义加载图标。

<van-loading vertical>
  <template #icon>
    <van-icon name="star-o" size="30" />
  </template>
  加载中...
</van-loading>

API

Props

参数 说明 类型 默认值
color 颜色 string #c9c9c9
type 类型,可选值为 spinner string circular
size 加载图标大小,默认单位为 px number | string 30px
text-size 文字大小,默认单位为 px number | string 14px
text-color 文字颜色 string #c9c9c9
vertical 是否垂直排列图标和文字内容 boolean false

Slots

名称 说明
default 加载文案
icon 自定义加载图标

类型定义

组件导出以下类型定义:

import type { LoadingType, LoadingProps } from 'vant';

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件

名称 默认值 描述
--van-loading-text-color var(--van-text-color-2) -
--van-loading-text-font-size var(--van-font-size-md) -
--van-loading-spinner-color var(--van-gray-5) -
--van-loading-spinner-size 30px -
--van-loading-spinner-duration 0.8s -


Vant4 DropdownMenu 下拉菜单
Vant4 Notify 消息通知
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }