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 @@ + + + \ 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 @@ + + + \ 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) + }) +}) +