IMAU鸿蒙北向开发-2023年9月6日学习日志

news2024/10/2 14:31:49

1. TextArea 基本使用

//TextArea 基本使用
@Entry
@Component
struct Index {
  @State message: string = 'Hello World'

  build() {
    Column() {
      TextArea({
        placeholder: "请输入个人介绍",
        text: "个人介绍控制在200字以内。"
      }).margin({
        top: 100
      })
        .caretColor(Color.Red) //设置光标的颜色

      TextArea({
        placeholder: "请输入个人介绍"
      }).margin({
        top: 20
      })
        .caretColor(Color.Red) //设置光标的颜色
        .placeholderColor(Color.Pink) //设置提示信息的颜色
        .onChange((value: string) => {  //当输入的内容发生变化的时候,就会触发这个回调,拿到输入的内容
          console.info("----->输入的内容为:" + value)
        })
    }
  }
}

在这里插入图片描述

2. TextPicker 使用

//文本选择器
@Entry
@Component
struct TextPickerDemo {
  //动态数据,需要使用 @State 装饰器
  @State selected_hero_name: string = "赵云"
  heroes: string[] = [
    "刘备",
    "赵云",
    "马超",
    "关羽",
    "张飞"
  ]

  build() {
    Column() {
      TextPicker({
        range: this.heroes,   //从哪里选择,是一个列表
        selected: 1  //默认选中,是一个index
      })
        .onChange((value: string) => {  //选中发生变化时的回调
          this.selected_hero_name = value
        })

      //Row 是横向的线性布局
      Row() {
        Text("你选择的英雄是:")
        Text(this.selected_hero_name)
      }.margin({
        top: 30,
        left: 50
      })

    }
  }
}

在这里插入图片描述

3. CheckboxGroup

//CheckboxGroup + 循环渲染+条件渲染
@Entry
@Component
struct CheckboxGroupDemo {
  //接收选择的结果集
  @State name: string[] = []
  //接收选择的状态
  @State status: number = 100

  build() {
    Column() {
      Text("选择你喜欢的🥬")
        .fontSize(28)
        .fontColor(Color.Green)
        .fontWeight(FontWeight.Bold)
        .margin({
          top: 50
        })
        .width("100%")
        .textAlign(TextAlign.Center)

      Row() {
        CheckboxGroup({
          group: "veg"
        })
          .selectedColor(Color.Red) //设置选框的颜色
            /**
             * 全部、反选时的回调方法,在回调方法里面可以获取选中的结果及状态,状态有0、1、2三种状态
             * status = 0 ,表示全选
             * status = 1,表示部分选中
             * status = 2,表示一个都没有选
             */
          .onChange((event: CheckboxGroupResult) => {
            this.name = event.name
            this.status = event.status
          })
        Text("全选")
      }
      .margin(10)

      Row() {
        Checkbox({
          name: "veg1",
          group: "veg"
        })
        Text("黄瓜🥒")
      }

      Row() {
        Checkbox({
          name: "veg2",
          group: "veg"
        })
        Text("青椒🫑")
      }

      Row() {
        Checkbox({
          name: "veg3",
          group: "veg"
        })
        Text("胡萝卜🥕")
      }

      Text("name:" + this.name)
      Text("status:" + this.status)

      //循环渲染
      ForEach(this.name, (item) => {
        //条件渲染
        if (item == "veg1") {
          Text("黄瓜🥒")
        }
        if (item == "veg2") {
          Text("青椒🫑")
        }
        if (item == "veg3") {
          Text("胡萝卜🥕")
        }
      }, (item) => item.toString())
    }
  }
}

在这里插入图片描述

4. Radio

//单选框的使用
@Entry
@Component
struct RadioDemo {
  @State isSelectedMale: boolean = false
  @State isSelectedFemale: boolean = false

  build() {
    Column() {
      Text("请选择性别")
        .fontSize(28)
        .fontColor(Color.Green)
        .fontWeight(400)
        .width("100%")
        .textAlign(TextAlign.Center)
        .margin({
          top: 100
        })

      Row() {
        Radio({
          value: "male",
          group: "sex"   //group ,小组名称,一个Radio组想要互斥,名称必须一致。
        }).onChange((isChecked: boolean) => {
          this.isSelectedMale = isChecked
        })

        Text("男")
      }.margin({
        top: 20
      })

      Row() {
        Radio({
          value: "famale",
          group: "sex"
        })
          .onChange((isChecked: boolean) => {
            this.isSelectedFemale = isChecked
          })
        Text("女")
      }

      Text("是否选择了男:" + this.isSelectedMale)
      Text("是否选择了女:" + this.isSelectedFemale)
    }
  }
}

在这里插入图片描述

5. Toggle

//开关组件
@Entry
@Component
struct ToggleDemo {
  //接收开关的状态
  @State isOn: boolean = false

  build() {
    Column() {
      Toggle({
        type: ToggleType.Switch,  //开关类型
        isOn: true
      })
      Toggle({
        type: ToggleType.Checkbox,  //开关类型
        isOn: true
      })

      Toggle({
        type: ToggleType.Switch,
        isOn: this.isOn
      })
        .selectedColor(Color.Green)
        .onChange((isOn: boolean) => {  //回调函数,可以拿到选择的结果
          this.isOn = isOn
        })

      Text("选择结果:" + this.isOn)


    }
  }
}

在这里插入图片描述

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

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

相关文章

【正版软件】Air Explorer - 一个程序访问您的所有云服务

前言:Air Explorer支持最好的云服务。 功能特点: 直接管理云中的文件 设置同一服务上的多个帐户 您可以在任何云服务或计算机之间同步文件夹 云文件浏览器易于使用 通过加入您的所有云服务来增加存储空间 应用程序适用于Windows/Mac Air Explorer…

Druid LogFilter输出可执行的SQL

配置 测试代码: DruidDataSource dataSource new DruidDataSource(); dataSource.setUrl("xxx"); dataSource.setUsername("xxx"); dataSource.setPassword("xxx"); dataSource.setFilters("slf4j"); dataSource.setVal…

2023年大数据平台数据安全厂商汇总

大数据时代,大数据平台数据安全至关重要,这关系着大家的切身安全。所以企业一定要慎重选择大数据平台数据安全厂商。这里给大家简单汇总一下,同时给大家推荐一下,仅供参考哦! 2023年大数据平台数据安全厂商汇总 1、…

Kafka3.0.0版本——消费者(消费方式)

目录 一、Kafka 消费方式1.1、pull(拉) 模式1.2、push (推)模式1.3、Kafka采用pull(拉) 模式缺点 一、Kafka 消费方式 1.1、pull(拉) 模式 consumer采用从broker中主动拉取数据。K…

【Python小项目之Tkinter应用】随机点名/抽奖工具大优化:实现背景图与其他组件自适应窗口大小变化并保持相对位置和比例不变

文章目录 前言一、需求分析与实现思路明确需求实现思路二、关键代码2.1 实现背景图随着窗口大小变化而变化2.2 更换place的参数三、完整代码四、总结4.1 意外收获前言 话不多说,直接看优化后的效果: 优化前: 是不是非常的哇塞,相比于之前只能固定窗口大小来运行,优化后…

基于SSM的营业厅宽带系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

大数据课程L1——网站流量项目的概述整体架构

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解网站流量项目的案例概述; ⚪ 了解网站流量项目的数据埋点和采集; ⚪ 了解网站流量项目的整体架构; 一、网站流量项目概述 1. 背景说明 网站流量统计是改进网站服务的重要手段之一…

大厂常见面试题LRU算法实现

要实现put和get的O(1)时间复杂度 最近最少/最久使用问题 将最近最少使用的数据淘汰 LRU缓存是操作系统常见的页面缓存淘汰机制 实现方式:哈希表 双向链表 哈希表用于存储数据,主要用于实现存取操作put和get的O(1)时间复杂度双向链表用于记录最近最少…

Linux系统访问卡顿 慢

Linux系统访问卡顿、慢 1、查看磁盘使用情况2、查看内存使用情况3、查看磁盘IO使用情况4、查看CPU使用情况5、iostat的查询 1、查看磁盘使用情况 [rootlocalhost ~]# df -h 当发现磁盘使用率很高时,那就要释放磁盘空间了,删除一些不必要的文件查看各个目…

03 Linux

第一课 目录 ⼀、进程与线程 1. 进程 2. 线程 3. 进程和线程的使用条件 ⼆、linux下的sudo命令 (1)sudo sudo的功能? sudo提供的临时权限什么时候被取消? (2)为什么要取消 sudo 权限呢? (2)apt sudo apt update 三、linux常⽤…

第10篇:ESP32外部中断功能的使用

第1篇:Arduino与ESP32开发板的安装方法 第2篇:ESP32 helloword第一个程序示范点亮板载LED 第3篇:vscode搭建esp32 arduino开发环境 第4篇:vscodeplatformio搭建esp32 arduino开发环境 ​​​​​​第5篇:doit_esp32_devkit_v1使用pmw呼吸灯实验 第6篇:ESP32连接无源喇叭播…

BEVFormer论文解析

背景 跟基于雷达的相比,纯视觉的方案成本低,而且具有RGB和纹理信息,可以用于检测像交通信号灯、车道线等道路要素。 自动驾驶的感知本意是要从多个摄像头给出的2D信息来预测3D bbox(检测)或者semantic map(分割),最直接的方案是…

PlantUML——类图(持续更新)

前言 在分析代码流程中,我们常常会使用到各种UML图,例如用例图、时序图和类图等,以往使用ProcessOn或亿图图示等工具,但是这些工具难以规范化,有没有一种用代码来生成图形的工具呢? 刚好在出差的晨会中机缘…

神策分析 2.5 上线「经营分析」:可视化分析能力重磅升级!

近日,神策数据发布了全新的神策分析 2.5 版本,该版本以经营分析为主题,支持分析模型与外部数据的融合性接入,构建全域数据融合模型,并提供统一、便捷的指标及可视化能力,实现从用户到经营的全链路、全场景分…

【公网远程手机Android服务器】安卓Termux搭建Web服务器

目录 概述 1.搭建apache 2.安装cpolar内网穿透 3.公网访问配置 4.固定公网地址 5.添加站点 概述 Termux是一个Android终端仿真应用程序,用于在 Android 手机上搭建一个完整的Linux 环境,能够实现Linux下的许多基本操作,不需要root权限…

归并排序 Merge Sort

归并排序的基本思想是什么? 采用分治法(Divide and Conquer),递归将待排序的数组平均分成两个子数组,直到子数组长度为 0 或 1,这是 分 Divider。再将排序好的两个子数组合并为一个有序数组,这…

AD学习笔记

1快捷键 A 各种对齐 L 切换顶层底层 右键联合 元器件的锁定 N 连线控制是否显示 2原理图和pcb交叉选择 封装重叠警告 在规则中修改

Tcp协议特点

目录 确认应答(ACK) 超时重传 建立连接-三次握手 断开连接-四次挥手 Tcp特点主要是分为四点:有连接,可靠传输,面向字节流,全双工。 这里我们主要介绍可靠传输 确认应答(ACK) …

EasyFalsh移植使用方法

参考:https://blog.csdn.net/Mculover666/article/details/105510837 注意: 这里说的修改默认环境变量后修改环境变量版本号就自动重新写入到flash这句话是有问题的,要开启上面【#define EF_ENV_AUTO_UODATE】宏定义后才会实现该功能&#…

Maven 必备技能:MAC 系统下 JDK和Maven 安装及环境变量配置详细讲解

开发中难免因系统问题或者版本变更反复折腾JDK和Maven环境变量,干脆写个笔记备忘个,也方便小伙伴们节省时间。 JDK安装与环境变量配置 1.官网下载jdk mac安装包: Java Downloads | Oracle " https://www.oracle.com/java/technologies/downloads…