From af1c47ededaa6f4a632f18ee267ecc907881a28c Mon Sep 17 00:00:00 2001
From: fxy060608 <153647646@qq.com>
Date: Thu, 19 Sep 2024 14:12:23 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=20=E5=93=8D=E5=BA=94?=
=?UTF-8?q?=E5=BC=8F=E6=95=B0=E7=BB=84=E5=B1=95=E5=BC=80=E8=AF=AD=E6=B3=95?=
=?UTF-8?q?=20=E8=87=AA=E5=8A=A8=E5=8C=96=E6=B5=8B=E8=AF=95=20issues=3D789?=
=?UTF-8?q?7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../reactivity/core/reactive/reactive.test.js | 15 +++++++--
pages/reactivity/core/reactive/reactive.uvue | 33 ++++++++++++++-----
2 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/pages/reactivity/core/reactive/reactive.test.js b/pages/reactivity/core/reactive/reactive.test.js
index 965c750..f3eb461 100644
--- a/pages/reactivity/core/reactive/reactive.test.js
+++ b/pages/reactivity/core/reactive/reactive.test.js
@@ -17,7 +17,10 @@ describe('reactive', () => {
expect(await objNum.text()).toBe('0')
const objArr = await page.$('#obj-arr')
- expect(await objArr.text()).toBe('["a","b","c"]')
+ expect(await objArr.text()).toBe('["a","b","c"]')
+
+ const arr1 = await page.$('#arr1')
+ expect(await arr1.text()).toBe('[]')
const updateCountBtn = await page.$('#update-count-btn')
await updateCountBtn.tap()
@@ -41,6 +44,14 @@ describe('reactive', () => {
const updateObj_A_B_C_Btn = await page.$('#update-obj1-a-b-c-btn')
await updateObj_A_B_C_Btn.tap()
- expect(await count1.text()).toBe('2')
+ expect(await count1.text()).toBe('2')
+
+ const updateArr1Btn = await page.$('#update-arr1-btn')
+ await updateArr1Btn.tap()
+ expect(await arr1.text()).toBe('[1,2,3]')
+
+ const updateArr1ReactiveBtn = await page.$('#update-arr1-reactive-btn')
+ await updateArr1ReactiveBtn.tap()
+ expect(await arr1.text()).toBe('[4,5,6]')
})
})
\ No newline at end of file
diff --git a/pages/reactivity/core/reactive/reactive.uvue b/pages/reactivity/core/reactive/reactive.uvue
index 3bf2664..f7f6a5a 100644
--- a/pages/reactivity/core/reactive/reactive.uvue
+++ b/pages/reactivity/core/reactive/reactive.uvue
@@ -15,20 +15,26 @@
obj.arr:
{{ JSON.stringify(obj['arr']) }}
-
-
- count1:
- {{ count1 }}
-
-
- obj1.a.b.c:
- {{ obj1.getString('a.b.c') }}
+
+
+ count1:
+ {{ count1 }}
+
+
+ obj1.a.b.c:
+ {{ obj1.getString('a.b.c') }}
+
+
+ arr1(spread):
+ {{ arr1 }}
+
+
@@ -71,4 +77,15 @@
function updateObj1_A_B_C() {
((obj1["a"] as UTSJSONObject)["b"] as UTSJSONObject)["c"] = "c1-" + Date.now()
}
+ const arr1 = ref([])
+ function test(...args : number[]) {
+ arr1.value = args
+ }
+ function updateArr1(isReactive : boolean) {
+ if (isReactive) {
+ test(...reactive([4, 5, 6]))
+ } else {
+ test(...[1, 2, 3])
+ }
+ }
\ No newline at end of file
--
GitLab