Link 超链接
10:39该组件为超链接组件,在不同平台有不同表现形式:
- 在APP平台会通过
plus环境打开内置浏览器 - 在小程序中把链接复制到粘贴板,同时提示信息
- 在H5中通过
window.open打开链接
平台差异说明
| App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 头条小程序 | QQ小程序 |
|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | √ |
基本使用
- 通过
href设置打开的链接,slot传入显示的内容
html
<u-link href="https://uviewpro.cn">蜀道难,难于上青天</u-link>下划线
通过under-line设置是否显示链接的下划线
html
<u-link href="https://uviewpro.cn" :under-line="true">蒹葭苍苍,白露为霜</u-link>小程序复制结果回调 v0.6.23+
小程序平台下,组件会调用uni.setClipboardData把href写入剪贴板。 当用户在微信中关闭了剪贴板权限、或因安全限制导致写剪贴板失败时,copy-success事件不会触发,组件会改为发出copy-fail事件(此时不再弹出“链接已复制”提示)。
copy-success:复制成功,回传uni.setClipboardData的 success 结果copy-fail:复制失败,回传uni.setClipboardData的 fail 错误对象,可据此提示用户去设置中开启剪贴板权限
html
<u-link
href="https://uviewpro.cn"
:default-click="true"
@copy-success="onCopySuccess"
@copy-fail="onCopyFail"
/>js
// 复制成功,组件已自行弹出 mp-tips 提示,这里可做埋点等额外处理
function onCopySuccess(res) {
console.log('链接已复制', res);
}
// 复制失败(常见于用户关闭了剪贴板权限)
function onCopyFail(err) {
uni.showModal({
title: '提示',
content: '当前无法复制链接,请检查剪贴板权限设置',
showCancel: false
});
}说明
copy-success、copy-fail仅在执行复制的小程序平台触发;App 平台(plus打开内置浏览器)与 H5 平台(window.open)不发出这两个事件。
API
Props
| 参数 | 说明 | 类型 | 默认值 | 可选值 |
|---|---|---|---|---|
| color | 文字颜色 | String | #606266 | - |
| font-size | 字体大小,单位rpx | String | Number | 28 | - |
| under-line | 是否显示下划线 | Boolean | false | true |
| href | 跳转的链接,要带上http(s) | String | - | - |
| line-color | 下划线颜色,默认同color参数颜色 | String | - | - |
| mp-tips | 各个小程序平台把链接复制到粘贴板后的提示语 | String | 链接已复制,请在浏览器打开 | - |
| default-click v0.3.16+ | 是否有默认点击事件,不同平台有不同表现形式,如上介绍 | Boolean | true | false |
Events
| 事件名 | 说明 | 回调参数 | 版本 |
|---|---|---|---|
| click | defaultClick为false时,点击组件会发出此事件 | href | v0.3.16+ |
| copy-success | 小程序平台复制链接成功时触发(default-click为false时不触发) | res | v0.6.23+ |
| copy-fail | 小程序平台复制链接失败时触发,如用户关闭了剪贴板权限 | err | v0.6.23+ |
