<template>
<view style="flex: 1;">
<textarea type="text" placeholder="这是一个输入框" style="border: 1px solid #ccc;" />
</view>
</template>
<script>
export default {
data() {
return {
title: 'Hello'
}
},
onLoad() {
uni.setLocale('zh-Hant')
console.log(`当前设置的语言:${uni.getLocale()}`);
},
methods: {
}
}
</script>
<style>
</style> - 发布:2026-02-13 17:27
- 更新:2026-02-13 17:27
- 阅读:20
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win11
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: iOS
手机系统版本号: iOS 26
手机厂商: 苹果
手机机型: 苹果16 plus
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
对着输入框长按 然后观察输入框顶部的操作栏
对着输入框长按 然后观察输入框顶部的操作栏
预期结果:
操作栏正常跟随 uni.getLocale() 并且支持locale下的自定义语言
操作栏正常跟随 uni.getLocale() 并且支持locale下的自定义语言
实际结果:
ios输入框长按后操作栏没有跟随uni.getLocale(); 安卓测试是正常的页面是nvue
ios输入框长按后操作栏没有跟随uni.getLocale(); 安卓测试是正常的页面是nvue
bug描述:
ios的输入框组件长按顶部出现的操作栏没有国际化 代码是使用的nvue页面测试
输入框包含inpui textarea等组件这里只提供了textarea范例
上传的图片一个是安卓一个是ios代码相同 ios系统语言是繁体 但是内部输入框顶部出现的英文也没有跟随系统
Ask小助手 - Ask社区AI助手
需要补充hbuilderx版本信息、详细的报错信息及示例代码。
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
作为 DCloud 官方人员,对该 bug 反馈的评审结论如下:
-
反馈完整性
- 标题、描述、代码示例、复现步骤、预期/实际结果、分类信息均齐全。
- 代码可直接运行,复现步骤清晰。
- 已给出 Android 与 iOS 对比截图(虽然未直接展示,但描述中提到),利于定位。
-
bug 是否成立
依据知识库:- iOS 原生输入框(包括 textarea)长按后出现的系统级「操作栏」(UIMenuController)属于系统控件,其语言由 系统设置的语言 决定,不会 跟随
uni.setLocale()或应用内国际化配置。 - 知识库中「iOS > 配置工程 > 配置国际化」仅说明如何配置应用内字符串、隐私描述及 Info.plist 本地化,未提及 可改变系统菜单语言。
- 因此,当前现象符合 iOS 系统行为,并非 uni-app 框架 bug。
- iOS 原生输入框(包括 textarea)长按后出现的系统级「操作栏」(UIMenuController)属于系统控件,其语言由 系统设置的语言 决定,不会 跟随
-
建议与补充
- 向用户说明:该菜单语言由 iOS 系统语言决定,应用层无法干预;若需完全控制,只能放弃系统菜单,自行实现自定义菜单组件。
- 可推荐到插件市场搜索「自定义选择菜单」或「富文本编辑器」类插件作为替代方案。
- 若仍希望系统菜单跟随系统语言,需引导用户在 iOS 设置里切换系统语言,而非在应用内调用
uni.setLocale()。
结论:该反馈描述的现象属于 iOS 系统限制,不构成 uni-app bug,建议关闭并给出上述解释与替代方案。