HarmonyOS 开发基础(四) 子父组件双向绑定

news2024/9/23 11:28:57

一、知识点在代码注释里

index.ets

// 导出方式直接从文件夹
import MyInput from "../common/commons/myInput"
@Entry
@Component
/*
组件可以基于struct实现,组件不能有继承关系,struct可以比class更加快速的创建和销毁。
 */
struct Index {
  @State username :string = ""
  @State password :string = ""

  build() {
    Flex({direction:FlexDirection.Column,
      justifyContent:FlexAlign.Center,
      alignItems:ItemAlign.Center}){
      Text("登录")
        .fontSize(40)
        .fontWeight(700)

      Text(this.username)
        .fontSize(30)
        .fontWeight(700)
        .width("80%")


      // 组件封装,完成父组件向子组件传参
      MyInput({placeHolder:"请输入用户名",inputValue:$username})
      /*
         placeHolder:"请输入用户名" 实现父组件向子组件传递 :请输入用户名

         inputValue:$username   子组件把监听得到的数据传到父组件
         下列代码再使用传回来的数据
         Text(this.username)
        .fontSize(30)
        .fontWeight(700)
        .width("80%")
     该处未对数据进行校验,只是简单展示

       */
      MyInput({placeHolder:"请输密码   ",inputValue:$password})

      Button("进入app")

    }.width("100%")
     .height("100%")
     .border({width:15,color:"#000"})
  }
}

myinput.ets

/*
单独处理输入框的渲染效果
 */
@Component
struct MyInput {
  /*
  @Prop装饰的变量必须使用其父组件提供的@State变量进行初始化,
  允许组件内部修改@Prop变量,但更改不会通知给父组件,
  父组件变量的更改会同步到@prop装饰的变量,即
  @Prop属于单向数据绑定。
   */
  @Prop placeHolder :string
  /*

   */
  @Link inputValue : string
  build(){
    TextInput({placeholder:this.placeHolder,text :this.inputValue})
      // 此处为监听事件
      //https://docs.openharmony.cn/pages/v3.1/zh-cn/application-dev/reference/arkui-ts/ts-basic-components-textinput.md/
      .onChange((value:string)=>{
        this.inputValue = value
      })
      .width("80%")
      .height(40)

  }
}

//先导出
export default MyInput

二、模拟器运行演示

在这里插入图片描述

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

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

相关文章

NullPointerException导致手机重启案例分析

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、 Framework 层对象 空指针导致手机重启。二、解决方案,规避空指针三、Telecom APK 控制导致的重启举例 一、 Framework 层对象 空指针导…

【Linux】Centos7 的 Systemctl 与 创建系统服务 (shell脚本)

Systemctl systemctl 命令 # 启动 systemctl start NAME.service # 停止 systemctl stop NAME.service # 重启 systemctl restart NAME.service # 查看状态 systemctl status NAME.service # 查看所有激活系统服务 systemctl list-units -t service # 查看所有系统服务 syste…

C++复刻:[滑动侧边栏]

目录 参考效果实现main.cppwidget.hwidget.cppcustombtn.h 自定义按钮custombtn.cpp 自定义按钮slidingSideWindow.h 滑动侧边栏slidingSideWindow.cpp 滑动侧边栏 模糊知识点源码 参考 Python版本:GitHub地址 B站主页 效果 实现 main.cpp #include "widge…

K线与形态基础知识

一、单根K线的涨跌形态 实体:代表当日的股价涨跌幅大小,即波动大小,实体大,波动大。上影线:从实体向上延伸的即为上影线,表示股价上涨的轨迹,也是多方拉升意图的最佳表现,但是最终实…

Linux操作系统2-软件的安装

软件安装方式 二进制发布包安装 软件已针对具体平台编译打包,只需要解压、修改配置rpm安装 安装按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题yum安装 一种在线软件安装方式,本质上还是rpm安装&am…

(14)Qt绘图(one)

目录 绘图的基本使用 绘图的流程 指定绘图设备的两种方式 QPen的使用 线条样式 笔帽样式 线条连接样式 QBrush的使用 画刷样式设置 Qt中的随机数的使用 填充规则 纹理填充(图片填充) 渐变填充 线性渐变 径向渐变 锥形渐变 渐变区域之外的…

EXCEL,vlookup以及数据去重

1,新建一个work表格,将数据copy进来,并做简单处理,让看起来舒服 2,使用vlookup函数查找数据是否在库中 注意:上图中的Table_array A1:C152,这个值要加绝对引用,写成: $A$1:$C$15…

深度学习环境配置pytorch-GPU版本

一、下载与安装Anaconda 官网:https://www.anaconda.com/download 安装时添加环境变量勾选上,这样可以减少一步操作,不用再去自己手动添加了。 二、在anaconda里面创建虚拟环境 创建虚拟环境,其中pytorch为虚拟环境名,…

解决Git下载失败太慢

解决Git下载失败太慢 Git 官网下载地址: https://git-scm.com/downloads Windows 下载地址: https://git-scm.com/download/win 用官网的地址下载, 需要从github上下载, 由于国内某些原因, 下载速度缓慢, 还经常失败. 国内用户, 可以通过镜像的方式, 提高下载速度. 阿里镜…

搭建工程化项目

搭建工程化项目 首先创建一个 study 空文件夹,并且把它拖到 VS Code 里面。 在 VS Code 中打开终端,快捷键 ctrl ~ 在命令行中输入 npm init,在接下来所有选项中全部按 “回车” 采用默认即可。 初始化完毕后,在项目根目录下会出…

SpringBoot集成jasypt,加密yml配置文件

SpringBoot集成jasypt,加密yml配置文件 一、pom配置二、生成密文代码三、配置3.1、yml加密配置3.2、密文配置3.3、启动配置3.4、部署配置 四、遇到的一些坑 最新项目安全检测,发现配置文件中数据库密码,redis密码仍处理明文状态 一、pom配置…

美团用户序列建模SDIM

Dimension Relation Modeling for Click-Through Rate Prediction 摘要 对于长期用户序列行为建模,采用两阶段方法,第一阶段检索出相关子序列,第二阶段应用注意力机制建模相关子序列和目标物料关系。基于检索的方式是次优的,可能…

MPDIoU: A Loss for Efficient and Accurate Bounding BoxRegression--论文学习笔记

超越GIoU/DIoU/CIoU/EIoU MPDIoU让YOLOv7和YOLACT双双涨点 目标检测上的指标对比: 论文地址: [2307.07662] MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression (arxiv.org) 摘要 边界框回归(Bounding Box Regression&am…

JSP项目国际化词条统计

国际化字条匹配并导出为excel格式 需求 将jsp页面里的key值&#xff0c;就是<spring:message code"gsyezer_Single_crystal"/>里的gsyezer_Single_crystal。和对应的字条对应上&#xff0c;并以excel表格形式输出。 jsp页面key值示例 <label for"&…

Redis 搭建主从集群

文章目录 1. 主从集群架构1.1 准备实例和配置1.2 启动1.3 开启主从关系1.4 测试 2. 主从同步原理2.1 全量同步2.2 增量同步repl_backlog原理 2.3 主从同步优化小结 单节点的 Redis 并发能力有限&#xff0c;要进一步提高 Redis 的并发能力&#xff0c;就需要搭建主从集群&#…

Eureka 学习笔记5:InstanceRegistry

版本 awsVersion ‘1.11.277’ LeaseManager 接口管理实例的租约信息&#xff0c;提供以下功能&#xff1a; 注册实例取消注册实例实例续约剔除过期实例 public interface LeaseManager<T> {/** 注册实例并续约*/void register(T r, int leaseDuration, boolean isRep…

8.1day02苍穹外卖开发

今天完善的功能是新增员工的功能&#xff1b; 新增员工需要添加的数据和员工表中的字段存在差异&#xff0c;用DTO封装传入进来的数据&#xff0c;将DTO实体的数据拷贝给employ类中去&#xff0c;采用的方式是用 BeanUtils.copyProperties(employeeDTO,employee); //前面是数据…

lodop学习

lodop 前提&#xff1a;为满足js调用打印机功能&#xff0c;浏览器自带的打印会弹出一个预览框&#xff0c;实际在应用场景上不需要这个预览弹窗&#xff0c;点击页面打印要直接根据预设好的参数直接打印&#xff0c;这个时候看到了lodop这个插件。 步骤1&#xff1a;官网下载…

一文搞懂Redis架构演化之路

目录 从最简单的开始&#xff1a;单机版 Redis 数据持久化&#xff1a;有备无患 主从复制&#xff1a;多副本 哨兵&#xff1a;故障自动切换 分片集群&#xff1a;横向扩展 总结 这篇文章我想和你聊一聊 Redis 的架构演化之路。 现如今 Redis 变得越来越流行&#xff0c;…

C++ ——stack、queue容器模拟实现及deque容器底层介绍

deque文档 stack文档 deque文档 文章目录 &#x1f345;1. deque容器&#x1f352;deque底层&#x1f352;deque的优势&#x1f352;deque的劣势 &#x1fad0;2. stack模拟实现&#x1f95d;3. queue模拟实现 &#x1f345;1. deque容器 查看文档可发现&#xff0c;栈和队列都…