鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:TextPicker)

news2025/1/16 15:50:17

滑动选择文本内容的组件。

说明:

该组件从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

接口

TextPicker(options?: {range: string[] | string[][] | Resource | TextPickerRangeContent[] | TextCascadePickerRangeContent[], selected?: number | number[], value?: string | string[]})

根据range指定的选择范围创建文本选择器。

参数:

参数名参数类型必填参数描述
rangestring[] | string[][]10+ | Resource |
TextPickerRangeContent[]10+ | TextCascadePickerRangeContent[]10+
选择器的数据选择列表。不可设置为空数组,若设置为空数组,则不显示;若动态变化为空数组,则保持当前正常值显示。
说明:单列数据选择器使用string[],Resource,TextPickerRangeContent[]类型。
多列数据选择器使用string[][]类型。
多列联动数据选择器使用TextCascadePickerRangeContent[]类型。
Resource类型只支持strarray.json。
selectednumber | number[]10+设置默认选中项在数组中的索引值。
默认值:0
说明:单列数据选择器使用number类型。
多列、多列联动数据选择器使用number[]类型。
从API version 10开始,该参数支持$$双向绑定变量。
valuestring | string[]10+设置默认选中项的值,优先级低于selected。
默认值:第一个元素值
说明:只有显示文本列表时该值有效。显示图片或图片加文本的列表时,该值无效。
单列数据选择器使用string类型。
多列、多列联动数据选择器使用string[]类型。
从API version 10开始,该参数支持$$双向绑定变量。

TextPickerRangeContent10+类型说明

参数名参数类型必填参数描述
iconstring | Resource图片资源。
textstring | Resource文本信息。

TextCascadePickerRangeContent10+类型说明

参数名参数类型必填参数描述
textstring | Resource文本信息。
childrenTextCascadePickerRangeContent[]联动数据。

属性

除支持通用属性外,还支持以下属性:

名称参数类型描述
defaultPickerItemHeightnumber | string设置Picker各选择项的高度。
disappearTextStyle10+PickerTextStyle设置所有选项中最上和最下两个选项的文本颜色、字号、字体粗细。
默认值:
{
color: '#ff182431',
font: {
size: '14fp',
weight: FontWeight.Regular
}
}
textStyle10+PickerTextStyle设置所有选项中除了最上、最下及选中项以外的文本颜色、字号、字体粗细。
默认值:
{
color: '#ff182431',
font: {
size: '16fp',
weight: FontWeight.Regular
}
}
selectedTextStyle10+PickerTextStyle设置选中项的文本颜色、字号、字体粗细。
默认值:
{
color: '#ff007dff',
font: {
size: '20vp',
weight: FontWeight.Medium
}
}
selectedIndex10+number | number[]设置默认选中项在数组中的索引值,优先级高于options中的选中值。
说明:单列数据选择器使用number类型。多列、多列联动数据选择器使用number[]类型。
canLoop10+boolean设置是否可循环滚动,true:可循环,false:不可循环,默认值:true。

事件

除支持通用事件外,还支持以下事件:

名称描述
onAccept(callback: (value: string, index: number) => void)(deprecated)点击弹窗中的“确定”按钮时触发该回调。
- value: 当前选中项的文本。
- index: 当前选中项的索引值。
从API version 10开始废弃。
说明:
该事件仅在文本滑动选择器弹窗中生效。
onCancel(callback: () => void)(deprecated)点击弹窗中的“取消”按钮时触发该回调。
从API version 10开始废弃。
说明:
该事件仅在文本滑动选择器弹窗中生效。
onChange(callback: (value: string | string[]10+, index: number | number[]10+) => void)滑动选中TextPicker文本内容后,触发该回调。
- value: 当前选中项的文本。(多列的情况,value为数组类型。)
- index: 当前选中项的索引值。(多列的情况,index为数组类型。)
说明:当显示文本或图片加文本列表时,value值为选中项中的文本值,当显示图片列表时,value值为空。

示例

// xxx.ets
class bottom {
  bottom:number = 50
}
let bott:bottom = new bottom()
@Entry
@Component
struct TextPickerExample {
  private select: number = 1
  private apfruits: string[] = ['apple1', 'apple2', 'apple3', 'apple4']
  private orfruits: string[] = ['orange1', 'orange2', 'orange3', 'orange4']
  private pefruits: string[] = ['peach1', 'peach2', 'peach3', 'peach4']
  private multi: string[][] = [this.apfruits, this.orfruits, this.pefruits]
  private cascade: TextCascadePickerRangeContent[] = [
    {
      text: '辽宁省',
      children: [{ text: '沈阳市', children: [{ text: '沈河区' }, { text: '和平区' }, { text: '浑南区' }] },
        { text: '大连市', children: [{ text: '中山区' }, { text: '金州区' }, { text: '长海县' }] }]
    },
    {
      text: '吉林省',
      children: [{ text: '长春市', children: [{ text: '南关区' }, { text: '宽城区' }, { text: '朝阳区' }] },
        { text: '四平市', children: [{ text: '铁西区' }, { text: '铁东区' }, { text: '梨树县' }] }]
    },
    {
      text: '黑龙江省',
      children: [{ text: '哈尔滨市', children: [{ text: '道里区' }, { text: '道外区' }, { text: '南岗区' }] },
        { text: '牡丹江市', children: [{ text: '东安区' }, { text: '西安区' }, { text: '爱民区' }] }]
    }
  ]

  build() {
    Column() {

      TextPicker({ range: this.apfruits, selected: this.select })
        .onChange((value: string | string[], index: number | number[]) => {
          console.info('Picker item changed, value: ' + value + ', index: ' + index)
        }).margin(bott)

      TextPicker({ range: this.multi })
        .onChange((value: string | string[], index: number | number[]) => {
          console.info('TextPicker 多列:onChange ' + JSON.stringify(value) + ', ' + 'index: ' + JSON.stringify(index))
        }).margin(bott)

      TextPicker({ range: this.cascade })
        .onChange((value: string | string[], index: number | number[]) => {
          console.info('TextPicker 多列联动:onChange ' + JSON.stringify(value) + ', ' + 'index: ' + JSON.stringify(index))
        })
    }
  }
}

textpicker

// xxx.ets
@Entry
@Component
struct TextPickerExample {
  private select: number = 1
  private fruits: string[] = ['apple1', 'orange2', 'peach3', 'grape4']

  build() {
    Column() {
      TextPicker({ range: this.fruits, selected: this.select })
        .onChange((value: string | string[], index: number | number[]) => {
          console.info('Picker item changed, value: ' + value + ', index: ' + index)
        })
        .disappearTextStyle({color: Color.Red, font: {size: 15, weight: FontWeight.Lighter}})
        .textStyle({color: Color.Black, font: {size: 20, weight: FontWeight.Normal}})
        .selectedTextStyle({color: Color.Blue, font: {size: 30, weight: FontWeight.Bolder}})
    }.width('100%').height('100%')
  }
}

textpicker

最后,有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(Harmony NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(Harmony NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

腾讯T10级高工技术,安卓全套VIP内容 →Android全套学习资料

腾讯T10级高工技术,安卓全套VIP课程

鸿蒙(Harmony NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

图片

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

图片

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

图片

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

图片

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1513508.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用webpack打包ts代码

通常情况下,实际开发中需要使用构建工具对代码进行打包,TS也可以结合构建工具进行使用,以webpack为例,介绍如何结合构建工具使用TS。 基本功能实现步骤: 项目初始化,生成package.json:npm ini…

智能化工厂大屏监控

通过采集和整合工厂各个环节的数据,包括设备状态、生产进度、质量指标、能源消耗等,并将这些数据以图表、动画、报表等形式展示在大屏上。 智能化工厂大屏监控可以提供以下优势: 实时监控:通过大屏幕展示工厂各项数据&#xff0c…

【安装教程】在Ubuntu上安装MySQL和InfluxDB

一、安装MySQL 官方文档 MySQL :: MySQL Installation Guide :: 7.1 Installing MySQL on Linux Using the MySQL Yum Repositoryhttps://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/linux-installation-yum-repo.html 1、进入下列网站,选择合适版本的…

【CSP】2021-12-2 序列查询新解 分段处理 用乘法代替加法减少时间复杂度(思想是离散化)

2021-12-2 序列查询新解 分段处理 用乘法代替加法减少时间复杂度(思想是离散化)2021-12-2 序列查询新解 分段处理 用乘法代替加法减少时间复杂度(思想是离散化) 2021-12-2 序列查询新解 分段处理 用乘法代替加法减少时间复杂度&am…

1435A/B-V信号发生器

1435A/B-V 信号发生器 高兼容性 高输出功率 高灵敏度 1435-V系列信号发生器是一款性能优良的矢量信号发生器,频率范围覆盖9kHz~6GHz,200MHz内部调制带宽和齐全的数字调制样式,可满足各种宽带数字调制信号的模拟需求。 PART.0…

2024年3月份实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

首先,来看下效果图 在线体验地址:https://geojson.hxkj.vip,并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…

1.1计算机系统构成及硬件系统知识(上)

基础知识部分----chap01 主要议题: 数制转换:一般会涉及存取的计算;ip地址中变长子网掩码的计算题;(难度较大) 数的表示:二进制、十六进制; 计算机的组成:考察的较为深入…

MySQL用法---MySQL Workbench创建数据库和表

1. 连接数据库 打开软件,点击左下角卡片,输入设置的数据库密码,勾选单选框 2. 了解主页面的组成部分 3. 创建数据库 先点击工具栏的创建按钮 再输入数据库名称 点击 Apply 创建 4. 创建数据表 展开数据库,在Tables上右键&…

数安委新栏目-微型发布会!首期推荐-天空卫士数据安全扫描仪(DSS)

新年伊始,CCIA数安委推出新栏目-微型发布会。天空卫士数据安全扫描仪(DSS)作为首期推荐产品,亮相新栏目。 点击可“阅读原文”:《微型发布会/数据安全扫描仪(DSS)-2024年第1期》。 为鼓励委员单…

支付模块-基于消息队列发送支付通知消息

消息队列发送支付通知消息 需求分析 订单服务作为通用服务,在订单支付成功后需要将支付结果异步通知给其他对接的微服务,微服务收到支付结果根据订单的类型去更新自己的业务数据 技术方案 使用消息队列进行异步通知需要保证消息的可靠性即生产端将消息…

git commit --amend

git commit --amend 1. 修改已经输入的commit 1. 修改已经输入的commit 我已经输入了commit fix: 删除无用代码 然后现在表示不准确,然后我通过命令git commit --amend修改commit

Python语言基础与应用-北京大学-陈斌-P40-39-基本扩展模块/上机练习:计时和文件处理-给算法计时-上机代码

Python语言基础与应用-北京大学-陈斌-P40-39-基本扩展模块/上机练习&#xff1a;计时和文件处理-给算法计时-上机代码 # 基本扩展模块训练 给算法计时 def factorial(number): # 自定义一个计算阶乘的函数i 1result 1while i < number:result result * ii 1return(resul…

推动新质生产力,机器人技术的黄金时代——张驰咨询

在这个不断进步和变化的时代中&#xff0c;张驰咨询与各个行业的领先企业紧密合作&#xff0c;致力于构建新一代生产力的未来蓝图。张驰咨询深刻理解各个行业的发展态势与独特性&#xff0c;通过深入分析企业遇到的挑战&#xff0c;张驰咨询提供定制化的解决方案&#xff0c;旨…

【代码随想录 | 数组 01】二分查找

文章目录 1.二分查找1.1题目1.2思路&#xff08;核心&#xff1a;区间的定义&#xff09;1.3左闭右闭1.4左闭右开1.5总结 1.二分查找 1.1题目 704.二分查找—力扣题目链接 题目&#xff1a;给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 …

Java毕业设计-基于spring boot开发的实习管理系统-毕业论文+答辩ppt(附源代码+演示视频)

文章目录 前言一、毕设成果演示&#xff08;源代码在文末&#xff09;二、毕设摘要展示1.开发说明2.需求分析3、系统功能结构 三、系统实现展示1、前台功能模块2、后台功能模块2.1 管理员功能2.2 教师功能2.3 学生功能2.4 实习单位功能 四、毕设内容和源代码获取总结 Java毕业设…

外贸产品再好,推广不出去也白搭!

外贸产品虽然质量和价格都很好&#xff0c;但是如果没有推广的支持&#xff0c;就很难在市场上打开局面。好的产品需要好的营销&#xff0c;推广不仅仅是宣传产品的重要手段&#xff0c;更是提高产品知名度和市场占有率的关键。只有通过有效的推广措施&#xff0c;才能让产品赢…

(Linux学习九)管道、重定向介绍

FD:文件描述符。 0,1,2,3&#xff0c;&#xff0c;&#xff0c;。进程打开文件所用。 0标准输入 1 标准输出 2 标准错误输出 3普通文件 一、管道 | 命令 | tee | xargs | 命令1的输出&#xff0c;作为命令2的输入&#xff0c;命令2的输出作为命令3的输入 | tee 三通&#xff…

【Python】random库

专栏文章索引&#xff1a;Python 原文章&#xff1a;Python中random函数用法整理_python random-CSDN博客 目录 1.random.random() 2.random.uniform(a, b) 3.random.randint(a, b) 4.random.randrange([start], stop[, step]) 5. random.choice() 6. random.shuffle(x[,…

工业园区智慧水电设备管控系统

在现代工业园区中&#xff0c;水电设备的管控系统起着至关重要的作用。这些系统不仅仅是简单的机械装置&#xff0c;它们更是一种智慧的结合&#xff0c;为工业生产提供了可靠的保障和高效的管理。让我们一起来探索工业园区智慧水电设备管控系统的奥秘。 我们来看看水电设备的…

电脑内存条

目录 一&#xff0c;电脑内存条是什么1&#xff0c;定义2&#xff0c;作用 二&#xff0c;怎样查看自己电脑内存条1&#xff0c;window运行管理器2&#xff0c;软件3&#xff0c;intel官网4&#xff0c;计算机命令行模式 三&#xff0c;选择电脑内存条1&#xff0c;选择ddr2&am…