首页 > 其他分享 >HarmonyOS NEXT应用开发—验证码布局

HarmonyOS NEXT应用开发—验证码布局

时间:2024-04-20 23:22:53浏览次数:27  
标签:codeText item Text number 验证码 HarmonyOS 组件 NEXT

介绍

本示例介绍如何使用Text组件实现验证码场景,并禁用对内容的选中、复制、光标。

效果图预览

使用说明

  1. 单击组件可弹出输入法
  2. 在进行验证码输入时,无法对中间单个数字进行更改,无法选中输入内容,无光标

实现思路

  1. 因为要禁用复制、选中等功能,这里使用了Text组件,而不是TextInput
ForEach(this.codeIndexArray, (item: number, index: number) => {
  Text(this.codeText[item])
    .verifyCodeUnitStyle()
}, (item: number, index: number) => item.toString())
  1. 绑定输入法,并默认显示键盘
this.inputController.attach(true, textConfig);
  1. 订阅输入法插入、删除事件,从而获取输入内容
this.inputController.on("insertText", (text: string) => {
  if (this.codeText.length >= this.verifyCodeLength) {
    return;
  }
    this.codeText += text;
})
this.inputController.on("deleteLeft", (length: number) => {
  this.codeText = this.codeText.substring(0, this.codeText.length - 1);
})
  1. 由于这里使用的是Text组件,而非TextInput组件,因此需要每次点击目标的组件的时候都重新绑定,并设置键盘的显示,而不能直接使用showSoftKeyboard
Flex(){
   //...
}.onClick(() => {
   this.attach();
})
  1. 当组件的可视面积变化的时候进行绑定与解绑
 .onVisibleAreaChange([0.0, 1, 0], async (isVisible: boolean, currentRatio: number) => {
   if (isVisible && currentRatio >= 1.0) {
     await this.attach();
     this.listen();
   }
   if (!isVisible && currentRatio <= 0.0) {
     this.dettach();
   }
 })

高性能知识点

不涉及

工程结构&模块类型

verifycode                                       // har类型
|---constants
|   |---VerifyCodeConstants.ets                  // 常量
|---view
|   |---VerifyCodeView.ets                       // 视图层-验证码组件

模块依赖

  1. routermodule:模块动态导入使用
  2. common/utils:使用日志功能

参考资料

  1. Text
  2. inputMethod

标签:codeText,item,Text,number,验证码,HarmonyOS,组件,NEXT
From: https://www.cnblogs.com/HarmonyOSNext/p/18148399

相关文章

  • HarmonyOS NEXT应用开发—在Native侧实现进度通知功能
    介绍本示例通过模拟下载场景介绍如何将Native的进度信息实时同步到ArkTS侧。效果图预览使用说明点击“StartDownload“按钮后,Native侧启动子线程模拟下载任务Native侧启动子线程模拟下载,并通过Arkts的回调函数将进度信息实时传递到Arkts侧实现思路前端进度条使用Progr......
  • HarmonyOS NEXT应用开发—翻页动效案例
    介绍翻页动效是应用开发中常见的动效场景,常见的有书籍翻页,日历翻页等。本例将介绍如何通过ArkUI提供的显示动画接口animateTo实现翻页的效果。效果图预览使用说明本例通过setInterval函数每秒调用一次翻页动画,实现连续翻页效果。实现思路如图,左右两侧分别代表打开书籍的......
  • HarmonyOS NEXT应用开发之下拉刷新与上滑加载案例
    介绍本示例介绍使用第三方库的PullToRefresh组件实现列表的下拉刷新数据和上滑加载后续数据。效果图预览使用说明进入页面,下拉列表触发刷新数据事件,等待数据刷新完成。上滑列表到底部,触发加载更多数据事件,等待数据加载完成。实现思路使用第三方库pullToRefresh组件,将列......
  • HarmonyOS NEXT应用开发之深色跑马灯案例
    介绍本示例介绍了文本宽度过宽时,如何实现文本首尾相接循环滚动并显示在可视区,以及每循环滚动一次之后会停滞一段时间后再滚动。效果图预览使用说明:1.进入页面,检票口文本处,实现文本首尾相接循环滚动,且在同一可视区,滚动完成之后,停滞一段时间后继续滚动。实现思路由于ArkUI中......
  • 如何评价 Next.js?
    作者:你不知道我是谁链接:https://www.zhihu.com/question/52365623/answer/2814907079来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。16年的问题了,在6年后的平安夜刷到了。Next.js,是第二个让我由心觉得好用,觉得「我艹,可以啊」的一个框架。第一个......
  • HarmonyOS NEXT应用开发之深色模式适配
    介绍本示例介绍在开发应用以适应深色模式时,对于深色和浅色模式的适配方案,采取了多种策略如下:固定属性适配:对于部分组件的颜色属性,如背景色或字体颜色,若保持不变,可直接设定固定色值或引用固定的资源文件。双资源目录适配:在resources目录下新增dark子目录,用于存放深色模式下的特......
  • 企业微信hook 最新版 、企微输入验证码,二次扫码方案、发名片收消息功能,企业微信hook源
    ​产品说明在PC端企业微信客户端上发送自定义名片、封装企业微信功能为DLL,可与其他语言调用实现功能。DLL可以监听企业微信的所有消息接收和群消息,根据需求实现机器人、群发、自动消息推送、聊天机器人、监管数据收集等功能企业微信hook,企业微信功能api,自定义开发功能清......
  • HarmonyOS NEXT应用开发之异常处理案例
    介绍本示例介绍了通过应用事件打点hiAppEvent获取上一次应用异常信息的方法,主要分为应用崩溃、应用卡死以及系统查杀三种。效果图预览使用说明:点击构建应用崩溃事件,3s之后应用退出,然后打开应用进入应用异常页面,隔1min左右后,显示上次异常退出信息。点击构建应用卡死事件,需手......
  • 鸿蒙HarmonyOS实战-ArkUI动画(布局更新动画)
    ......
  • React 简单登录平台Demo(1):Next.js配置
    目录前言体验Next.js中文文档路径问题创建项目启动报错测试TailWindCSS热重载如何添加路由第三方库引入tailwindcss配置相关链接布局新建布局布局也是嵌套影响的根节点layout配置路由跳转Link跳转Hook跳转简单的登录页面前言我之前的那个项目写到后面,发现还不如直接用Next.js呢......