From 77098d71063c5c904e69d30d25f0d297770f0f20 Mon Sep 17 00:00:00 2001 From: qianpinyi Date: Thu, 11 Sep 2025 20:28:22 +0800 Subject: [PATCH 1/2] js_folder_stack refactoring Signed-off-by: qianpinyi --- .../jsview/js_folder_stack.cpp | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/frameworks/bridge/declarative_frontend/jsview/js_folder_stack.cpp b/frameworks/bridge/declarative_frontend/jsview/js_folder_stack.cpp index 4f7bb16c2ce..0eeff792a33 100644 --- a/frameworks/bridge/declarative_frontend/jsview/js_folder_stack.cpp +++ b/frameworks/bridge/declarative_frontend/jsview/js_folder_stack.cpp @@ -61,25 +61,25 @@ JSRef HoverStatusChangeEventToJSValue(const NG::FolderEventInfo& eventInf void JSFolderStack::Create(const JSCallbackInfo& info) { - if (info.Length() > 0 && info[0]->IsObject()) { - JSRef params = JSRef::Cast(info[0]); - auto upperId = params->GetProperty("upperItems"); - if (upperId->IsNull() || upperId->IsUndefined() || !upperId->IsArray()) { - FolderStackModel::GetInstance()->Create(); - return; - } - auto upperIdParams = JSRef::Cast(upperId); - auto upperItemLength = upperIdParams->Length(); - std::vector upperItems(upperItemLength); - if (upperId->IsArray()) { - for (size_t i = 0; i < upperItemLength; i++) { - upperItems[i] = upperIdParams->GetValueAt(i)->ToString(); - } - } - FolderStackModel::GetInstance()->Create(upperItems); - } else { + if (!(info.Length() > 0 && info[0]->IsObject())) { + FolderStackModel::GetInstance()->Create(); + return; + } + JSRef params = JSRef::Cast(info[0]); + auto upperId = params->GetProperty("upperItems"); + if (upperId->IsNull() || upperId->IsUndefined() || !upperId->IsArray()) { FolderStackModel::GetInstance()->Create(); + return; + } + auto upperIdParams = JSRef::Cast(upperId); + auto upperItemLength = upperIdParams->Length(); + std::vector upperItems(upperItemLength); + for (size_t i = 0; i < upperItemLength; i++) { + if (upperIdParams->GetValueAt(i)->IsString()) { + upperItems[i] = upperIdParams->GetValueAt(i)->ToString(); + } } + FolderStackModel::GetInstance()->Create(upperItems); } void JSFolderStack::SetAlignContent(const JSCallbackInfo& info) -- Gitee From 20ecf14114f1e843539f1f8dafd7d5b7d281a1d5 Mon Sep 17 00:00:00 2001 From: qianpinyi Date: Fri, 12 Sep 2025 07:50:11 +0000 Subject: [PATCH 2/2] =?UTF-8?q?update=20frameworks/bridge/declarative=5Ffr?= =?UTF-8?q?ontend/jsview/js=5Ffolder=5Fstack.cpp.=20JSArray=E6=8D=A2?= =?UTF-8?q?=E6=88=90JSObject=EF=BC=8C=E4=BB=A5=E5=8F=8A=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E7=9A=84=E7=A9=BA=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qianpinyi --- .../declarative_frontend/jsview/js_folder_stack.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/frameworks/bridge/declarative_frontend/jsview/js_folder_stack.cpp b/frameworks/bridge/declarative_frontend/jsview/js_folder_stack.cpp index 0eeff792a33..7a036f2cb8d 100644 --- a/frameworks/bridge/declarative_frontend/jsview/js_folder_stack.cpp +++ b/frameworks/bridge/declarative_frontend/jsview/js_folder_stack.cpp @@ -65,7 +65,7 @@ void JSFolderStack::Create(const JSCallbackInfo& info) FolderStackModel::GetInstance()->Create(); return; } - JSRef params = JSRef::Cast(info[0]); + JSRef params = JSRef::Cast(info[0]); auto upperId = params->GetProperty("upperItems"); if (upperId->IsNull() || upperId->IsUndefined() || !upperId->IsArray()) { FolderStackModel::GetInstance()->Create(); @@ -73,10 +73,11 @@ void JSFolderStack::Create(const JSCallbackInfo& info) } auto upperIdParams = JSRef::Cast(upperId); auto upperItemLength = upperIdParams->Length(); - std::vector upperItems(upperItemLength); + std::vector upperItems; for (size_t i = 0; i < upperItemLength; i++) { - if (upperIdParams->GetValueAt(i)->IsString()) { - upperItems[i] = upperIdParams->GetValueAt(i)->ToString(); + auto value = upperIdParams->GetValueAt(i); + if (value->IsString()) { + upperItems.push_back(value->ToString()); } } FolderStackModel::GetInstance()->Create(upperItems); -- Gitee