Skip to content

Text 文本

8:14

组件概况

用于展示文本的组件,支持主题设置、脱敏处理、日期格式化、金额格式化、多行省略等功能。

代码演示

基本用法

通过 text 属性设置要显示的文本内容。

html
<wd-text text="这是一段普通的文本内容"></wd-text>

主题类型

通过 type 属性设置文本的主题类型,支持 primaryerrorsuccesswarningdefault

html
<view style="display: flex">
  <wd-text type="primary" text="主色"></wd-text>
  <wd-text type="error" text="错误"></wd-text>
  <wd-text type="success" text="成功"></wd-text>
  <wd-text type="warning" text="警告"></wd-text>
  <wd-text text="默认"></wd-text>
</view>

自定义样式

通过 colorsizeboldlineHeightdecoration 等属性自定义文本样式。

html
<!-- 自定义颜色 -->
<wd-text text="自定义颜色文本" color="#36B8C2"></wd-text>

<!-- 粗体 -->
<wd-text text="粗体文本" bold></wd-text>

<!-- 字体大小 -->
<wd-text text="16px字体" size="16px"></wd-text>

<!-- 文字装饰 -->
<wd-text text="下划线文本" type="warning" decoration="underline"></wd-text>

<!-- 删除线 -->
<wd-text text="16354.156" mode="price" type="success" decoration="line-through" prefix="¥"></wd-text>

多行省略

通过 lines 属性设置文本显示的行数,超出指定行数后显示省略号,最大值为 5。

html
<wd-text :text="longText" :lines="2" size="16px"></wd-text>

文本脱敏

通过设置 modephonename,并配合 format 属性实现文本脱敏。

html
<!-- 姓名脱敏:张长三 -> 张**三 -->
<wd-text text="张长三" mode="name" :format="true"></wd-text>

<!-- 手机号脱敏:18888888888 -> 188****8888 -->
<wd-text text="18888888888" mode="phone" :format="true"></wd-text>

日期格式化

通过设置 modedate,将时间戳格式化为 YYYY-MM-DD 格式的日期。

html
<!-- 1719976636911 -> 2024-07-03 -->
<wd-text text="1719976636911" mode="date"></wd-text>

金额格式化

通过设置 modeprice,将数字格式化为带千分位分隔符的金额格式,保留两位小数。

html
<!-- 16354.156 -> 16,354.16 -->
<wd-text text="16354.156" mode="price" type="success" prefix="¥"></wd-text>

前后置内容

通过 prefixsuffix 属性或 prefixsuffix 插槽添加前后置内容。

html
<!-- 使用属性 -->
<wd-text text="12345678901" mode="phone" :format="true" type="primary" prefix="Prefix" suffix="Suffix"></wd-text>

<!-- 使用插槽 -->
<wd-text text="12345678901" mode="phone" :format="true" type="primary">
  <template #prefix>
    <text>前置插槽</text>
  </template>
  <template #suffix>
    <wd-icon name="phone-call-filled"></wd-icon>
  </template>
</wd-text>

API

Text Props

属性名说明类型可选值默认值
type主题类型stringprimary / error / success / warning / defaultdefault
text文字内容string / number-''
size字体大小number / string-''
mode文本处理的匹配模式stringtext / date / phone / name / pricetext
decoration文字装饰stringunderline / line-through / overlinenone
callmode=phone时,点击文本是否拨打电话boolean-false
bold是否粗体boolean-false
format是否脱敏,当mode为phone和name时生效boolean-false
color文本颜色string-''
prefix前置内容string-''
suffix后置内容string-''
lines文本显示的行数,超出此行数将显示省略号,最大值为5number--
lineHeight文本行高string-''
custom-style自定义根节点样式string-''
custom-class自定义根节点样式类string-''

Text Events

事件名说明回调参数
click点击文本时触发(event: Event)

Text Slots

插槽名说明
prefix前置内容插槽
suffix后置内容插槽

类型定义

TextType

ts
export type TextType = 'default' | 'primary' | 'success' | 'warning' | 'error'

注意事项

  1. lines 属性最大值为 5,设置大于 5 的值可能不会生效。
  2. 当设置了 color 属性时,type 属性定义的主题颜色将不再生效。
  3. format 属性仅在 modephonename 时生效。
  4. modedate 时,text 属性应为时间戳(毫秒)。
  5. modeprice 时,文本会自动添加千分位分隔符并保留两位小数。
  6. 脱敏规则:
    • 姓名脱敏:保留首尾字符,中间用 ** 替换,例如 张长三 -> 张**三
    • 手机号脱敏:保留前三位和后四位,中间用 **** 替换,例如 18888888888 -> 188****8888

📖 Released under the MIT License