HarmonyOS 循环渲染语句ForEach

下面 我们来说循环渲染
循环渲染真的最多的还是数组类型数据

我们编写代码如下

@Entry
@Component
struct Index {

  @State StringArr:string[] = ["小猫猫哦","小狗狗","大狗熊"];

  build() {
    Row() {
      Column() {
        Text(this.StringArr[0])
        Text(this.StringArr[1])
        Text(this.StringArr[2])
      }
      .width('100%')
    }
    .height('100%')
  }
}

我们声明了一个字符串类型的数组 StringArr
然后 我们用Text组件分别展示了它的三个下标
在这里插入图片描述
但是 这样写不但看着很捞 而且 开发构成中 很多接口返回的数组 我们并没有办法确认他有多少个下标

我们可以这样写

@Entry
@Component
struct Index {

  @State StringArr:string[] = ["小猫猫哦","小狗狗","大狗熊"];

  build() {
    Row() {
      Column() {
        ForEach(
          this.StringArr,
          (item,index)=>{
            Text(item+" 元素下标为"+index)
          }
        )
      }
      .width('100%')
    }
    .height('100%')
  }
}

我们声明一个 ForEach 循环函数 里面其实有三个参数 我们先说两个

第一个是 你要遍历那个数组 我们传入 this.StringArr
第二个参数是一个回调函数 返回值 第一个为 item 就是当前遍历的下标内容 然后 第二个参数 index 可以拿到当前内容的下标值
然后 我们用 Text 输出当前的内容和下标值
运行结果如下
在这里插入图片描述
也是没有任何问题

第三个蚕食为 键值生成器函数
在这里插入图片描述
简单说 返回一个字符串 做本次元素渲染的唯一标识
注意 第三个函数 返回的字符串值 每次循环必须不同 因为它是循环的唯一标识

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在使用ForEach循环渲染时,可以通过遍历数组的方式获取每个数组的值,并对其进行判断是否仍然是数组。如果不是数组,则直接输出。如果是数组,则可以使用嵌套的ForEach循环对该数组进行第二次遍历。在JSP中,还可以使用EL函数来输出总数,而不需要引入scriplet代码。EL函数允许在公共类中调用public static方法,例如定义一个名为sum(List people)的公共静态方法。在tld文件中,可以使用以下声明来调用EL函数。在渲染过程中,可以使用HTML标签来展示数据,例如使用<td align="center"><a href="***.do?yxdm=<c:out value='${yxdm.key}'/>"><c:out value="${yxdm.value}"/></a></td>来渲染数据。 #### 引用[.reference_title] - *1* [php页面渲染](https://blog.csdn.net/brokenkay/article/details/90403939)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [jsp – 计算c:forEach循环中所有数字的总和](https://blog.csdn.net/weixin_39785422/article/details/118051383)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [JSTL之<c:foreach>循环展示table](https://blog.csdn.net/weixin_33698043/article/details/92951794)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值