Skip to content

Typography 文字与内容

封装了文字相关的组件用于显示。

导入

js
import Text from '@/components/basic/Text.vue';
import A from '@/components/typography/A.vue';
import B from '@/components/typography/B.vue';
import H1 from '@/components/typography/H1.vue';
import H2 from '@/components/typography/H2.vue';
import H3 from '@/components/typography/H3.vue';
import H4 from '@/components/typography/H4.vue';
import H5 from '@/components/typography/H5.vue';
import H6 from '@/components/typography/H6.vue';
import I from '@/components/typography/I.vue';
import S from '@/components/typography/S.vue';
import U from '@/components/typography/U.vue';

用法

标题

不同的标题等级

vue
<template>
  <H1>这是标题1</H1>
  <H2>这是标题2</H2>
  <H3>这是标题3</H3>
  <H4>这是标题4</H4>
  <H5>这是标题5</H5>
  <H6>这是标题6</H6>
</template>

粗体斜体

vue
<template>
  <B>这是粗体文字</B>
  <I>这是斜体文字</I>
</template>

文字线

vue
<template>
  <S>这段字符串中间有条删除线</S>
  <U>这段字符串有条下划线</U>
</template>

链接

可以指定 href 属性来跳转链接,在H5会打开新页面,App会打开浏览器跳转, 小程序平台不支持跳转网页,会提示用户已复制链接,用户需要手动打开浏览器跳转。

vue
<template>
  <A @click="handleClick">可以点击的链接</A>
  <A href="https://uniapp.dcloud.net.cn/">uniapp.dcloud.net.cn</A>
</template>

文字组件

可以使用封装的组件快速组合多个样式。

vue
<template>
  <Text bold italic>粗体+斜体文字</Text>
  <Text bold italic underline>粗体+斜体+下划线文字</Text>
  <Text bold italic underline lineThrough>粗体+斜体+下划线+删除线文字</Text>
</template>

API 参考

以上所有组件都支持以下属性。

Props

名称说明类型必填默认值
text显示的文字内容。如果定义了插槽则属性值无效。string--
color字体颜色。可以是颜色字符串或者在主题中配置的预设名称。string--
shadowColor文字阴影颜色。可以是颜色字符串或者在主题中配置的预设名称。number|string--
textAlign文字对齐方式。可选center、left、right。string--
fontConfig字体预设。可以是主题中预设的一个名称。string--
fontSize字体大小。可以是实际数值或者在主题中配置的预设名称。string--
fontFamily字体-family。string--
fontStyle字体-style。可选normal、italic。string--
fontWeight字体-weight。可选normal、bold或者数字值。string--
bold是否加粗。boolean-false
italic是否斜体。boolean-false
underline是否下划线。boolean-false
lineThrough是否删除线。boolean-false
shadow是否添加文字阴影。boolean-false
backgroundColor背景颜色。可以是颜色字符串或者在主题中配置的预设名称。string--
selectable是否可选中。boolean-false
lines行数限制。number--
maxWidth最大宽度。number--
innerStyle自定义样式。object--
innerClass自定义类名。string--
margin外边距。string--
padding内边距。number|string|number[]|ThemePaddingMargin--
margin外边距。number|string|number[]|ThemePaddingMargin--
autoSize是否自动调整字体大小以适应内容。参照下方说明。object-false
touchable是否可点击。boolean-false

A Props

链接组件特殊属性

名称说明类型必填默认值
href链接地址string--
linkType链接类型'auto' | "uni-page" | "url" | "custom" | "back"-"auto"

linkType 说明

  • auto 表示自动判断,根据 href 是否以 / 开头判断是否为 uni-app 页面,以 http 或 https 开头判断为外部链接。
  • uni-page 表示跳转 uni-app 页面(uni.navigateTo 打开)
  • url 表示跳转外部链接,h5 环境下会使用 window.open 打开,app 会调用 plus 打开浏览器,小程序平台不支持跳转网页,会提示用户已复制链接,用户需要手动打开浏览器跳转。
  • custom 表示自定义跳转,需要在点击事件中处理。
  • back 表示返回上一页。

autoSize 说明

自动工具文字长短设置大小,在 autoSize 为 true 时有效。

这个是一个小功能,目的是为了在某些情况下(例如金额显示),容器宽度一定但是文字长短不定,此时需要自动缩放大小,文字越长,字号越小。

计算公式是 (1 - (text.length - minLen) / (maxLen - minLen)) * (maxSize - minSize) + minSize

autoSize 对象内容:

名称说明类型
text小程序无法获取模板内容,需要额外提供字符串string
maxLen最长文字长度,用于自动大小公式计算number
minLen最短文字长度,如果输入文字长度小于这个值,则不会进行自动缩放number
maxSize最大文字字号,用于自动大小公式计算number
minSize最小文字字号,用于自动大小公式计算number

Slots

名称说明
default默认插槽,用于显示文字内容

Events

名称说明参数
click点击事件$event