diff --git a/example/app.json b/example/app.json
index a511b78a0..a2fde1bf6 100644
--- a/example/app.json
+++ b/example/app.json
@@ -58,7 +58,8 @@
"pages/notice-bar/notice-bar",
"pages/image-viewer/image-viewer",
"pages/result/result",
- "pages/result/result-page"
+ "pages/result/result-page",
+ "pages/link/link"
],
"subpackages": [
{
@@ -132,7 +133,8 @@
"t-navbar": "tdesign-miniprogram/navbar/navbar",
"t-date-time-picker": "tdesign-miniprogram/date-time-picker/date-time-picker",
"t-action-sheet": "tdesign-miniprogram/action-sheet/action-sheet",
- "t-image-viewer": "tdesign-miniprogram/image-viewer/image-viewer"
+ "t-image-viewer": "tdesign-miniprogram/image-viewer/image-viewer",
+ "t-link": "tdesign-miniprogram/link/link"
},
"window": {
"backgroundTextStyle": "light",
diff --git a/example/pages/home/data/base.ts b/example/pages/home/data/base.ts
index 24d51f301..1a3b40ae8 100644
--- a/example/pages/home/data/base.ts
+++ b/example/pages/home/data/base.ts
@@ -26,6 +26,10 @@ const base = {
name: 'Icon',
label: '图标',
},
+ {
+ name: 'Link',
+ label: '链接',
+ },
// {
// name: 'Layout',
// label: '布局',
diff --git a/site/site.config.mjs b/site/site.config.mjs
index 853c40863..14fb8fad2 100644
--- a/site/site.config.mjs
+++ b/site/site.config.mjs
@@ -73,6 +73,13 @@ export default {
path: '/miniprogram/components/icon',
component: () => import('@/icon/README.md'),
},
+ {
+ title: 'Link 链接',
+ name: 'link',
+ meta: { docType: 'base' },
+ path: '/miniprogram/components/link',
+ component: () => import('@/link/README.md'),
+ },
],
},
{
diff --git a/src/link/README.en-US.md b/src/link/README.en-US.md
new file mode 100644
index 000000000..c89261acc
--- /dev/null
+++ b/src/link/README.en-US.md
@@ -0,0 +1,23 @@
+:: BASE_DOC ::
+
+## API
+### Link Props
+
+name | type | default | description | required
+-- | -- | -- | -- | --
+content | String / Slot | - | \- | N
+navigator-props | Object | - | \- | N
+prefix-icon | String / Object / Slot | - | \- | N
+size | String | medium | options:small/medium/large。Typescript:`SizeEnum` | N
+status | String | normal | options:normal/active/disabled | N
+suffix-icon | String / Object / Slot | - | \- | N
+theme | String | default | options:default/primary/danger/warning/success | N
+underline | Boolean | - | \- | N
+
+### Link Events
+
+name | params | description
+-- | -- | --
+complete | \- | \-
+fail | \- | \-
+success | \- | \-
diff --git a/src/link/README.md b/src/link/README.md
new file mode 100644
index 000000000..3bf92f312
--- /dev/null
+++ b/src/link/README.md
@@ -0,0 +1,64 @@
+---
+title: Link 链接
+description: 文字超链接用于跳转一个新页面,如当前项目跳转,友情链接等。
+spline: navigation
+isComponent: true
+---
+
+## 代码演示
+
+### 组件类型
+
+基础文字链接
+
+{{ content }}
+
+下划线文字链接
+
+{{ underline }}
+
+前置图标文字链接
+
+{{ prefix }}
+
+后置图标文字链接
+
+{{ suffix }}
+
+### 组件状态
+
+不同主题
+
+{{ theme }}
+
+禁用状态
+
+{{ status }}
+
+### 组件样式
+
+链接尺寸
+
+{{ size }}
+
+## API
+### Link Props
+
+名称 | 类型 | 默认值 | 说明 | 必传
+-- | -- | -- | -- | --
+content | String / Slot | - | 链接内容 | N
+navigator-props | Object | - | 与 navigator 原生组件属性保持一致,具体使用参考:https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html。 | N
+prefix-icon | String / Object / Slot | - | 前置图标 | N
+size | String | medium | 尺寸。可选项:small/medium/large。TS 类型:`SizeEnum` | N
+status | String | normal | 组件状态。可选项:normal/active/disabled | N
+suffix-icon | String / Object / Slot | - | 前置图标 | N
+theme | String | default | 组件风格,依次为默认色、品牌色、危险色、警告色、成功色。可选项:default/primary/danger/warning/success | N
+underline | Boolean | - 是否显示链接下划线 | N
+
+### Link Events
+
+名称 | 参数 | 描述
+-- | -- | --
+complete | \- | 页面链接执行完成后触发(失败或成功均会触发)
+fail | \- | 页面链接跳转失败后触发
+success | \- | 页面链接跳转成功后触发
diff --git a/src/link/_example/content/index.js b/src/link/_example/content/index.js
new file mode 100644
index 000000000..b79c5124b
--- /dev/null
+++ b/src/link/_example/content/index.js
@@ -0,0 +1 @@
+Component({});
diff --git a/src/link/_example/content/index.json b/src/link/_example/content/index.json
new file mode 100644
index 000000000..f60601722
--- /dev/null
+++ b/src/link/_example/content/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "t-link": "tdesign-miniprogram/link/link"
+ }
+}
diff --git a/src/link/_example/content/index.wxml b/src/link/_example/content/index.wxml
new file mode 100644
index 000000000..7350c9ace
--- /dev/null
+++ b/src/link/_example/content/index.wxml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/link/_example/content/index.wxss b/src/link/_example/content/index.wxss
new file mode 100644
index 000000000..965eec29d
--- /dev/null
+++ b/src/link/_example/content/index.wxss
@@ -0,0 +1,7 @@
+.link-example {
+ display: flex;
+ align-items: center;
+ justify-content: space-evenly;
+ height: 96rpx;
+ background-color: #fff;
+}
diff --git a/src/link/_example/link.json b/src/link/_example/link.json
new file mode 100644
index 000000000..373f2de36
--- /dev/null
+++ b/src/link/_example/link.json
@@ -0,0 +1,13 @@
+{
+ "navigationBarTitleText": "Link",
+ "navigationBarBackgroundColor": "#fff",
+ "usingComponents": {
+ "content": "./content",
+ "underline": "./underline",
+ "prefix": "./prefix",
+ "suffix": "./suffix",
+ "theme": "./theme",
+ "status": "./status",
+ "size": "./size"
+ }
+}
diff --git a/src/link/_example/link.less b/src/link/_example/link.less
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/link/_example/link.ts b/src/link/_example/link.ts
new file mode 100644
index 000000000..560d44d43
--- /dev/null
+++ b/src/link/_example/link.ts
@@ -0,0 +1 @@
+Page({});
diff --git a/src/link/_example/link.wxml b/src/link/_example/link.wxml
new file mode 100644
index 000000000..6ff3b746f
--- /dev/null
+++ b/src/link/_example/link.wxml
@@ -0,0 +1,25 @@
+
+ Link 链接
+ 文字超链接用于跳转一个新页面,如当前项目跳转,友情链接等。
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/link/_example/prefix/index.js b/src/link/_example/prefix/index.js
new file mode 100644
index 000000000..b79c5124b
--- /dev/null
+++ b/src/link/_example/prefix/index.js
@@ -0,0 +1 @@
+Component({});
diff --git a/src/link/_example/prefix/index.json b/src/link/_example/prefix/index.json
new file mode 100644
index 000000000..f60601722
--- /dev/null
+++ b/src/link/_example/prefix/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "t-link": "tdesign-miniprogram/link/link"
+ }
+}
diff --git a/src/link/_example/prefix/index.wxml b/src/link/_example/prefix/index.wxml
new file mode 100644
index 000000000..90c4005e2
--- /dev/null
+++ b/src/link/_example/prefix/index.wxml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/link/_example/prefix/index.wxss b/src/link/_example/prefix/index.wxss
new file mode 100644
index 000000000..965eec29d
--- /dev/null
+++ b/src/link/_example/prefix/index.wxss
@@ -0,0 +1,7 @@
+.link-example {
+ display: flex;
+ align-items: center;
+ justify-content: space-evenly;
+ height: 96rpx;
+ background-color: #fff;
+}
diff --git a/src/link/_example/size/index.js b/src/link/_example/size/index.js
new file mode 100644
index 000000000..b79c5124b
--- /dev/null
+++ b/src/link/_example/size/index.js
@@ -0,0 +1 @@
+Component({});
diff --git a/src/link/_example/size/index.json b/src/link/_example/size/index.json
new file mode 100644
index 000000000..f60601722
--- /dev/null
+++ b/src/link/_example/size/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "t-link": "tdesign-miniprogram/link/link"
+ }
+}
diff --git a/src/link/_example/size/index.wxml b/src/link/_example/size/index.wxml
new file mode 100644
index 000000000..8baaff3d5
--- /dev/null
+++ b/src/link/_example/size/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/src/link/_example/size/index.wxss b/src/link/_example/size/index.wxss
new file mode 100644
index 000000000..965eec29d
--- /dev/null
+++ b/src/link/_example/size/index.wxss
@@ -0,0 +1,7 @@
+.link-example {
+ display: flex;
+ align-items: center;
+ justify-content: space-evenly;
+ height: 96rpx;
+ background-color: #fff;
+}
diff --git a/src/link/_example/status/index.js b/src/link/_example/status/index.js
new file mode 100644
index 000000000..b79c5124b
--- /dev/null
+++ b/src/link/_example/status/index.js
@@ -0,0 +1 @@
+Component({});
diff --git a/src/link/_example/status/index.json b/src/link/_example/status/index.json
new file mode 100644
index 000000000..f60601722
--- /dev/null
+++ b/src/link/_example/status/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "t-link": "tdesign-miniprogram/link/link"
+ }
+}
diff --git a/src/link/_example/status/index.wxml b/src/link/_example/status/index.wxml
new file mode 100644
index 000000000..728b31051
--- /dev/null
+++ b/src/link/_example/status/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/link/_example/status/index.wxss b/src/link/_example/status/index.wxss
new file mode 100644
index 000000000..671099dfe
--- /dev/null
+++ b/src/link/_example/status/index.wxss
@@ -0,0 +1,11 @@
+.link-example {
+ display: flex;
+ align-items: center;
+ justify-content: space-evenly;
+ height: 96rpx;
+ background-color: #fff;
+}
+
+.link-example:not(:last-child) {
+ margin-bottom: 32rpx;
+}
diff --git a/src/link/_example/suffix/index.js b/src/link/_example/suffix/index.js
new file mode 100644
index 000000000..b79c5124b
--- /dev/null
+++ b/src/link/_example/suffix/index.js
@@ -0,0 +1 @@
+Component({});
diff --git a/src/link/_example/suffix/index.json b/src/link/_example/suffix/index.json
new file mode 100644
index 000000000..f60601722
--- /dev/null
+++ b/src/link/_example/suffix/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "t-link": "tdesign-miniprogram/link/link"
+ }
+}
diff --git a/src/link/_example/suffix/index.wxml b/src/link/_example/suffix/index.wxml
new file mode 100644
index 000000000..2d44f14db
--- /dev/null
+++ b/src/link/_example/suffix/index.wxml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/link/_example/suffix/index.wxss b/src/link/_example/suffix/index.wxss
new file mode 100644
index 000000000..965eec29d
--- /dev/null
+++ b/src/link/_example/suffix/index.wxss
@@ -0,0 +1,7 @@
+.link-example {
+ display: flex;
+ align-items: center;
+ justify-content: space-evenly;
+ height: 96rpx;
+ background-color: #fff;
+}
diff --git a/src/link/_example/theme/index.js b/src/link/_example/theme/index.js
new file mode 100644
index 000000000..b79c5124b
--- /dev/null
+++ b/src/link/_example/theme/index.js
@@ -0,0 +1 @@
+Component({});
diff --git a/src/link/_example/theme/index.json b/src/link/_example/theme/index.json
new file mode 100644
index 000000000..f60601722
--- /dev/null
+++ b/src/link/_example/theme/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "t-link": "tdesign-miniprogram/link/link"
+ }
+}
diff --git a/src/link/_example/theme/index.wxml b/src/link/_example/theme/index.wxml
new file mode 100644
index 000000000..755c0c4d6
--- /dev/null
+++ b/src/link/_example/theme/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/link/_example/theme/index.wxss b/src/link/_example/theme/index.wxss
new file mode 100644
index 000000000..671099dfe
--- /dev/null
+++ b/src/link/_example/theme/index.wxss
@@ -0,0 +1,11 @@
+.link-example {
+ display: flex;
+ align-items: center;
+ justify-content: space-evenly;
+ height: 96rpx;
+ background-color: #fff;
+}
+
+.link-example:not(:last-child) {
+ margin-bottom: 32rpx;
+}
diff --git a/src/link/_example/underline/index.js b/src/link/_example/underline/index.js
new file mode 100644
index 000000000..b79c5124b
--- /dev/null
+++ b/src/link/_example/underline/index.js
@@ -0,0 +1 @@
+Component({});
diff --git a/src/link/_example/underline/index.json b/src/link/_example/underline/index.json
new file mode 100644
index 000000000..f60601722
--- /dev/null
+++ b/src/link/_example/underline/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "t-link": "tdesign-miniprogram/link/link"
+ }
+}
diff --git a/src/link/_example/underline/index.wxml b/src/link/_example/underline/index.wxml
new file mode 100644
index 000000000..11f0312ea
--- /dev/null
+++ b/src/link/_example/underline/index.wxml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/src/link/_example/underline/index.wxss b/src/link/_example/underline/index.wxss
new file mode 100644
index 000000000..965eec29d
--- /dev/null
+++ b/src/link/_example/underline/index.wxss
@@ -0,0 +1,7 @@
+.link-example {
+ display: flex;
+ align-items: center;
+ justify-content: space-evenly;
+ height: 96rpx;
+ background-color: #fff;
+}
diff --git a/src/link/link.json b/src/link/link.json
new file mode 100644
index 000000000..049940c16
--- /dev/null
+++ b/src/link/link.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "t-icon": "../icon/icon"
+ }
+}
diff --git a/src/link/link.less b/src/link/link.less
new file mode 100644
index 000000000..bac539ab7
--- /dev/null
+++ b/src/link/link.less
@@ -0,0 +1,113 @@
+@import '../common/style/index.less';
+
+// 状态色 - 默认色
+
+@link-normal-default-color: var(--td-link-normal-default-color, @font-gray-1); // default 主题默认态颜色
+@link-active-default-color: var(--td-link-active-default-color, @brand-color-active); // default 主题激活态颜色
+@link-disabled-default-color: var(--td-link-disabled-default-color, @text-color-disabled); // default 主题禁用态颜色
+
+// 状态色 - 主色
+@link-normal-primary-color: var(--td-link-normal-primary-color, @brand-color); // primary 主题默认态颜色
+@link-active-primary-color: var(--td-link-active-primary-color, @brand-color-active); // primary 主题激活态颜色
+@link-disabled-primary-color: var(--td-link-disabled-primary-color, @brand-color-disabled); // primary 主题禁用态颜色
+
+// 状态色 - 成功
+@link-normal-success-color: var(--td-link-normal-success-color, @success-color); // success 主题默认态颜色
+@link-active-success-color: var(--td-link-active-success-color, @success-color-active); // success 主题激活态颜色
+@link-disabled-success-color: var(--td-link-disabled-success-color, @success-color-disabled); // success 主题禁用态颜色
+
+// 状态色 - 警告
+@link-normal-warning-color: var(--td-link-normal-warning-color, @warning-color); // warning 主题默认态颜色
+@link-active-warning-color: var(--td-link-active-warning-color, @warning-color-active); // warning 主题激活态颜色
+@link-disabled-warning-color: var(--td-link-disabled-warning-color, @warning-color-disabled); // warning 主题禁用态颜色
+
+// 状态色 - 危险
+@link-normal-danger-color: var(--td-link-normal-danger-color, @error-color); // danger 主题默认态颜色
+@link-active-danger-color: var(--td-link-active-danger-color, @error-color-active); // danger 主题激活态颜色
+@link-disabled-danger-color: var(--td-link-disabled-danger-color, @error-color-disabled); // danger 主题禁用态颜色
+
+// 字号
+@link-content-small-font-size: 24rpx;
+@link-content-small-line-height: 40rpx;
+@link-icon-small-font-size: 28rpx;
+
+@link-content-medium-font-size: 28rpx;
+@link-content-medium-line-height: 44rpx;
+@link-icon-medium-font-size: 32rpx;
+
+@link-content-large-font-size: 32rpx;
+@link-content-large-line-height: 48rpx;
+@link-icon-large-font-size: 36rpx;
+
+@themes: primary, success, warning, default, danger;
+
+@link: ~'@{prefix}-link';
+
+.link-size(@size) {
+ @contentFontSize: 'link-content-@{size}-font-size';
+ @contentLineHeight: 'link-content-@{size}-line-height';
+ @iconSize: 'link-icon-@{size}-font-size';
+
+ .@{link}--@{size} {
+ .@{link}__content {
+ font-size: @@contentFontSize;
+ line-height: @@contentLineHeight;
+ }
+ .@{link}__prefix-icon,
+ .@{link}__suffix-icon {
+ font-size: @@iconSize;
+ }
+ }
+}
+
+.link-status(@status) {
+ .for(@themes, @i: 1) when(@i =< length(@themes)) {
+ @theme: extract(@themes, @i);
+ @color: 'link-@{status}-@{theme}-color';
+
+ .@{link}--@{status}-@{theme} {
+ color: @@color;
+
+ &.@{link}--underline::after {
+ border-color: @@color;
+ }
+ }
+
+ .for(@themes, (@i + 1));
+ }
+ .for(@themes);
+}
+
+.link-size(small);
+.link-size(medium);
+.link-size(large);
+
+.link-status(normal);
+.link-status(active);
+.link-status(disabled);
+
+.@{link} {
+ position: relative;
+ display: flex;
+ align-items: center;
+ box-sizing: content-box;
+
+ &--underline::after {
+ content: '';
+ position: absolute;
+ left: 0;
+ right: 0;
+ height: 0;
+ bottom: 0;
+ opacity: 1;
+ border-bottom: 1px solid rgb(205, 11, 231);
+ }
+
+ &__prefix-icon + &__content:not(:empty) {
+ padding-left: 8rpx;
+ }
+
+ &__content:not(:empty) + &__suffix-icon {
+ padding-left: 8rpx;
+ }
+}
diff --git a/src/link/link.ts b/src/link/link.ts
new file mode 100644
index 000000000..eb84bd8a1
--- /dev/null
+++ b/src/link/link.ts
@@ -0,0 +1,74 @@
+import { SuperComponent, wxComponent } from '../common/src/index';
+import config from '../common/config';
+import props from './props';
+import { setIcon } from '../common/utils';
+
+const { prefix } = config;
+const name = `${prefix}-link`;
+
+@wxComponent()
+export default class Link extends SuperComponent {
+ externalClasses = [];
+
+ properties = props;
+
+ data = {
+ prefix,
+ classPrefix: name,
+ };
+
+ observers = {
+ 'theme, status, size, underline, navigatorProps'() {
+ this.setClass();
+ },
+
+ prefixIcon(prefixIcon) {
+ const obj = setIcon('prefixIcon', prefixIcon, '');
+ this.setData({
+ ...obj,
+ });
+ },
+
+ suffixIcon(suffixIcon) {
+ const obj = setIcon('suffixIcon', suffixIcon, '');
+ this.setData({
+ ...obj,
+ });
+ },
+ };
+
+ lifetimes = {
+ attached() {
+ this.setClass();
+ },
+ };
+
+ methods = {
+ setClass() {
+ const { theme, status, size, underline, navigatorProps } = this.properties;
+ const classList = [name, `${name}--${status}-${theme}`, `${name}--${size}`];
+ if (underline) {
+ classList.push(`${name}--underline`);
+ }
+ if ((navigatorProps && !navigatorProps.url) || status === 'disabled') {
+ classList.push(`${name}--disabled`);
+ }
+
+ this.setData({
+ className: classList.join(' '),
+ });
+ },
+
+ onSuccess(e) {
+ this.triggerEvent('success', e);
+ },
+
+ onFail(e) {
+ this.triggerEvent('fail', e);
+ },
+
+ onComplete(e) {
+ this.triggerEvent('complete', e);
+ },
+ };
+}
diff --git a/src/link/link.wxml b/src/link/link.wxml
new file mode 100644
index 000000000..77ae41baf
--- /dev/null
+++ b/src/link/link.wxml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+ {{content}}
+
+
+
+
+
+
+
diff --git a/src/link/props.ts b/src/link/props.ts
new file mode 100644
index 000000000..1f0043586
--- /dev/null
+++ b/src/link/props.ts
@@ -0,0 +1,46 @@
+/* eslint-disable */
+
+/**
+ * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC
+ * */
+
+import { TdLinkProps } from './type';
+const props: TdLinkProps = {
+ /** 链接内容 */
+ content: {
+ type: String,
+ },
+ /** 与 navigator 原生组件属性保持一致,具体使用参考:https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html。 */
+ navigatorProps: {
+ type: Object,
+ },
+ /** 前置图标 */
+ prefixIcon: {
+ type: null,
+ },
+ /** 尺寸 */
+ size: {
+ type: String,
+ value: 'medium',
+ },
+ /** 组件状态 */
+ status: {
+ type: String,
+ value: 'normal',
+ },
+ /** 前置图标 */
+ suffixIcon: {
+ type: null,
+ },
+ /** 组件风格,依次为默认色、品牌色、危险色、警告色、成功色 */
+ theme: {
+ type: String,
+ value: 'default',
+ },
+ /** 普通状态是否显示链接下划线 */
+ underline: {
+ type: Boolean,
+ },
+};
+
+export default props;
diff --git a/src/link/type.ts b/src/link/type.ts
new file mode 100644
index 000000000..c2addcf2e
--- /dev/null
+++ b/src/link/type.ts
@@ -0,0 +1,69 @@
+/* eslint-disable */
+
+/**
+ * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC
+ * */
+
+import { SizeEnum } from '../common/common';
+
+export interface TdLinkProps {
+ /**
+ * 链接内容
+ */
+ content?: {
+ type: StringConstructor;
+ value?: string;
+ };
+ /**
+ * 与 navigator 原生组件属性保持一致,具体使用参考:https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html。
+ */
+ navigatorProps?: {
+ type: ObjectConstructor;
+ value?: object;
+ };
+ /**
+ * 前置图标
+ */
+ prefixIcon?: {
+ type: null;
+ value?: string | object;
+ };
+ /**
+ * 尺寸
+ * @default medium
+ */
+ size?: {
+ type: StringConstructor;
+ value?: SizeEnum;
+ };
+ /**
+ * 组件状态
+ * @default normal
+ */
+ status?: {
+ type: StringConstructor;
+ value?: 'normal' | 'active' | 'disabled';
+ };
+ /**
+ * 前置图标
+ */
+ suffixIcon?: {
+ type: null;
+ value?: string | object;
+ };
+ /**
+ * 组件风格,依次为默认色、品牌色、危险色、警告色、成功色
+ * @default default
+ */
+ theme?: {
+ type: StringConstructor;
+ value?: 'default' | 'primary' | 'danger' | 'warning' | 'success';
+ };
+ /**
+ * 是否显示链接下划线
+ */
+ underline?: {
+ type: BooleanConstructor;
+ value?: boolean;
+ };
+}