From 0d8f8bd55723ce4ed2407c0f484735dc73bf7dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=8E=89=E9=BE=99?= Date: Fri, 20 Jun 2025 16:34:11 +0800 Subject: [PATCH] update foreach doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 刘玉龙 --- .../arkts-rendering-control-foreach.md | 62 +++++++++++++++++- .../figures/ForEach-defined-keyGenerator2.PNG | Bin 0 -> 29238 bytes 2 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 zh-cn/application-dev/ui/state-management/figures/ForEach-defined-keyGenerator2.PNG diff --git a/zh-cn/application-dev/ui/state-management/arkts-rendering-control-foreach.md b/zh-cn/application-dev/ui/state-management/arkts-rendering-control-foreach.md index f28d2ecce05..78aa1bfb62b 100644 --- a/zh-cn/application-dev/ui/state-management/arkts-rendering-control-foreach.md +++ b/zh-cn/application-dev/ui/state-management/arkts-rendering-control-foreach.md @@ -815,7 +815,7 @@ struct Parent { Text(item.key) } } - // 如果不定义下面的`keyGenerator`函数,则ArkUI框架会使用默认的键值生成函数 + // 如果不定义下面的keyGenerator函数,则ArkUI框架会使用默认的键值生成函数 , (item: Data) => { return item.key; } @@ -832,4 +832,62 @@ struct Parent { ![ForEach-StateVarNoRender](figures/ForEach-default-keyGenerator.PNG) **图15** 自定义键值生成函数下的内存占用 -![ForEach-StateVarNoRender](figures/ForEach-defined-keyGenerator.PNG) \ No newline at end of file +![ForEach-StateVarNoRender](figures/ForEach-defined-keyGenerator.PNG) + +### 键值生成失败 +如果开发者没有定义`keyGenerator`函数,则ArkUI框架会使用默认的键值生成函数,即`(item: Object, index: number) => { return index + '__' + JSON.stringify(item); }`。然而,`JSON.stringify`序列化在某些数据结构上会失败,导致应用发生jscrash并退出。例如,`bigint`无法被`JSON.stringify`序列化: + +```ts +class Data { + content: bigint; + + constructor(content: bigint) { + this.content = content; + } +} + +@Entry +@Component +struct Parent { + @State simpleList: Array = [new Data(1234567890123456789n), new Data(2345678910987654321n)]; + + build() { + Row() { + Column() { + ForEach(this.simpleList, (item: Data) => { + ChildItem({ item: item.content.toString() }) + } + // 如果不定义下面的keyGenerator函数,则ArkUI框架会使用默认的键值生成函数 + // Data中的content: bigint在JSON序列化时失败 + , (item: Data) => item.content.toString() + ) + } + .width('100%') + .height('100%') + } + .height('100%') + .backgroundColor(0xF1F3F5) + } +} + +@Component +struct ChildItem { + @Prop item: string; + + build() { + Text(this.item) + .fontSize(50) + } +} +``` + +开发者定义`keyGenerator`函数,应用正常启动: +![ForEach-StateVarNoRender](figures/ForEach-defined-keyGenerator2.PNG) + +使用默认的键值生成函数,应用发生jscrash: +``` +Error message:@Component 'Parent'[4]: ForEach id 7: use of default id generator function not possible on provided data structure. Need to specify id generator function (ForEach 3rd parameter). Application Error! +Stacktrace: + ... + at anonymous (entry/src/main/ets/pages/Index.ets:18:52) +``` \ No newline at end of file diff --git a/zh-cn/application-dev/ui/state-management/figures/ForEach-defined-keyGenerator2.PNG b/zh-cn/application-dev/ui/state-management/figures/ForEach-defined-keyGenerator2.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d968324b43a187a3fa9c2b2890d40ed93ca927ad GIT binary patch literal 29238 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 z z?oWT~&@bJ(pC457g`>!*{Yo{wU<6GUl`Gsp>hq}kA*mK4B50@ElgoY#loy&8Be zrARl!JbJ@!92mp(VmMn6-Y|s!@S>{J&fDh7|8%9GcngQB`f06$F&diPqsm~eTv2fU z=boWpE$HW7eOmyX48Xm(m8X?t0IPbSp)s}|3+e?h3X%vYVZ6X1|2hA|6%AV%4dQNn z)Z9-k7xL`^f&n%TJDonS?}+A%;eM|aY>zME1%j9gBosqOqb(k=U&JvNJ<~%_UaD2n zn&C?+p{iyE`L7vM63i)PHa>{Z8*&tY$qZmfA{~i$BQie_yWMWGaNPQKymZDs-^Ulq zD^yR{r{4c3G+CtekZljHU=StyipZtG=fBPc98n5E#iz<5Xv5^eVCw5*?ZBc^RBZQ5 zR|aQt8|YQKvlkcF$JZ_mmc9anGZ**)Jl>E#DfU}hHtNknzSY3F5_8qsyZ*4Tcn5C- zG%5iadQcNw_#7)u@4`6FVw|EwtR9fY_%{lJ)uK;}wI6qV?}jZeKfCvNZ=(m~!Rc4U zR@yuz$zN~Mw6q7lxs*M50-S>e(VI(3jkO~+FGQ(HdVEA#OVF39N@=lz% z3H1%q)))$w!5`W5! z(KUme)BfqVmYbST#+Addt1Esm;Q|Z|$F4^+Dqw7NkRm5Rcn$cF!RDj4yzfZF6!EB_ zG|voptATfE2&r^RNj0hbocd~ai`W^f5@V^G7BDN)sh1vF5378_!*@D=sM((tA~eKO zMsRdM?FGUf!B9Gpg#z!*!6JA8vI6)Xo}lec8@(H;!v$}pJ%|5Oy4Yc~Gyq!w^~o|5 za6K?+Gdm*Z>}-Lk9X3{2eijbAZ0-X&?c*WJqDriL4|RatD}iR5IQFf0o9#wT9J(t% zqHh5YmG*VQ(d%*4BHVHjkW<0kRSG2W6~{hL=r>U73x;*(J<#*{Q~v4kGIv3nJ5s3e zmmJniS>o=`;rZeE25R_>kPFQYzPpF(GI!nueZHE=YlJ!VEX0RIzGi%dus@ql;DRoC zXJkZsrVG7qbp>@Ksks01!Isj(HI^29`C_kE;+rsCz@}6n5}zb_NWPoZMY8gdM^ln) zPCR4B%$}*57B%{FVpyZ?W8)0SR@OJpj_nB?LjMJh785CZsmFL^v7QhbL#WI#Zl|Wm zyjRmbf}eht#q?#hURdTvIYD`GR5e7v9f&K2?1^8ngparVWf$d^9*W%F`~ zj8@DSF%;Gj7Z(b#0QqyL%$t_<%-`G+hYy{b}8Wm@+~v(fRz=GAU2_^&OWfEAcd z6D>}$(~Q=+L~1yeCYLR4axdxQ$W3op(S+&miuJ3g4t4|=Jc;I051-1t_CC#-ARKul z=Y{IyrdCbmm1ofk&J&9OP1j?`{|MGV8~`JrNWpn-QmwOUj?cgb4O&qNGg zADPRuM-CC>kIGjMi-3Jdg5k6|co;PXS}A`h%VuWe*=Pe#z?n1Z0=%r9hJcr)syS7f zED;8F2>~?9`cryUmr5$)WqNZIDPJl@jW