uniapp中实现<text>文本内容点击可复制或拨打电话

template 部分

vue 复制代码
<template>
    <view>
        <text @tap="handlePhoneClick('1234567890')">1234567890</text>
    </view>
</template>

script 部分

vue 复制代码
export default {
    methods: {
        handlePhoneClick(phoneNumber) {
            uni.showActionSheet({
                itemList: ['复制', '拨打'],
                success: (res) => {
                    if (res.tapIndex === 0) {
                        // 复制操作
                        uni.setClipboardData({
                            data: phoneNumber,
                            success: () => {
                                uni.showToast({
                                    title: '复制成功',
                                    icon: 'success'
                                });
                            },
                            fail: () => {
                                uni.showToast({
                                    title: '复制失败',
                                    icon: 'none'
                                });
                            }
                        });
                    } else if (res.tapIndex === 1) {
                        // 拨打操作
                        uni.makePhoneCall({
                            phoneNumber: phoneNumber
                        });
                    }
                }
            });
        }
    }
};

在上述代码中,当点击包含电话的 标签时,会弹出一个操作菜单,用户可以选择复制电话号码或者直接拨打该号码。uni.setClipboardData用于实现复制功能,uni.makePhoneCall用于实现拨打电话功能。

相关推荐
程序员黑豆3 小时前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
桦说编程5 小时前
并发编程中的等待-通知模式:从 wait/notify 到 Guava Monitor
后端
bugcome_com5 小时前
JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token
前端·json
To_OC6 小时前
写了三天 Next.js,我的 React 世界观被拆了又装回去
前端·全栈·next.js
独泪了无痕6 小时前
viewer.js 安装与配置指南:实现图片预览功能
前端·vue.js
用户938515635077 小时前
工厂模式与 Nest.js 核心思想 —— 从蜜雪冰城到企业级架构
后端·设计模式·nestjs
用户938515635077 小时前
实战 Todo CRUD —— 从路由到异常,手写一个完整模块
后端·typescript·nestjs
GetcharZp7 小时前
Qdrant 向量数据库 Golang 实战指南:从零构建高性能检索应用
后端
hsfxuebao8 小时前
OpenSpec 完整使用流程笔记 (SDD)
后端
唐青枫8 小时前
别把 struct 只当成数据盒子:Zig 结构体从入门到实战
后端