diff --git a/pages.json b/pages.json
index b0f4ab470753ea35ebddfd0605bd621a51806e3f..5f48380a53e8e18be933705aa6c49921816bc800 100644
--- a/pages.json
+++ b/pages.json
@@ -716,6 +716,18 @@
"navigationBarTitleText": "render function"
}
},
+ {
+ "path": "pages/render-function/mergeProps/mergeProps-options",
+ "style": {
+ "navigationBarTitleText": "mergeProps 选项式 API"
+ }
+ },
+ {
+ "path": "pages/render-function/mergeProps/mergeProps-composition",
+ "style": {
+ "navigationBarTitleText": "mergeProps 组合式 API"
+ }
+ },
{
"path": "pages/examples/unrecognized-component/unrecognized-component",
"style": {
diff --git a/pages/index/index.uvue b/pages/index/index.uvue
index fced4cc7637a16c8879ad2b7870524e45c8e7841..9831d059b34f98bb22f24ffb88ef2be72b5ff3a4 100644
--- a/pages/index/index.uvue
+++ b/pages/index/index.uvue
@@ -1,1107 +1,1123 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/render-function/mergeProps/mergeProps-composition.uvue b/pages/render-function/mergeProps/mergeProps-composition.uvue
new file mode 100644
index 0000000000000000000000000000000000000000..e650b011adbe9894c0b48902623571fd3335b501
--- /dev/null
+++ b/pages/render-function/mergeProps/mergeProps-composition.uvue
@@ -0,0 +1,46 @@
+
+
+
+ merged class
+ {{mergedProps['class']}}
+
+
+
+ prop function result list
+ {{item}}
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/render-function/mergeProps/mergeProps-options.uvue b/pages/render-function/mergeProps/mergeProps-options.uvue
new file mode 100644
index 0000000000000000000000000000000000000000..67d259d532cf865f16c998309555760f8799b65e
--- /dev/null
+++ b/pages/render-function/mergeProps/mergeProps-options.uvue
@@ -0,0 +1,53 @@
+
+
+
+ merged class
+ {{mergedProps['class']}}
+
+
+
+ prop function result list
+ {{item}}
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/render-function/mergeProps/mergeProps.test.js b/pages/render-function/mergeProps/mergeProps.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..eb351fc632ba2fdf1e62c1f962d74b02d3fa651e
--- /dev/null
+++ b/pages/render-function/mergeProps/mergeProps.test.js
@@ -0,0 +1,30 @@
+const OPTIONS_PAGE_PATH = '/pages/render-function/mergeProps/mergeProps-options'
+const COMPOSITION_PAGE_PATH = '/pages/render-function/mergeProps/mergeProps-composition'
+
+describe('mergeProps', () => {
+ let page = null
+ const test = async (pagePath) => {
+ page = await program.reLaunch(pagePath)
+ await page.waitFor('view')
+
+ const mergedClass = await page.$('#merged-class')
+ expect(await mergedClass.text()).toBe('foo bar')
+
+ const triggerMergedClickBtn = await page.$('#trigger-merged-click')
+ await triggerMergedClickBtn.tap()
+
+ const clickResList = await page.$$('.click-res')
+ expect(clickResList.length).toBe(2)
+ expect(await clickResList[0].text()).toBe('propA click res')
+ expect(await clickResList[1].text()).toBe('propB click res')
+ }
+
+ it('mergeProps options API', async () => {
+ await test(OPTIONS_PAGE_PATH)
+ })
+
+ it('mergeProps composition API', async () => {
+ await test(COMPOSITION_PAGE_PATH)
+ })
+})
+