提交 a7367daa 编写于 作者: fxy060608's avatar fxy060608

feat(v3): titleNViewButton

上级 229c6907
......@@ -6018,6 +6018,31 @@ var serviceContext = (function () {
}
}
function createButtonOnClick (index) {
return function onClick (btn) {
const pages = getCurrentPages();
if (!pages.length) {
return
}
btn.index = index;
const page = pages[pages.length - 1];
page.$vm &&
page.$vm.__call_hook &&
page.$vm.__call_hook('onNavigationBarButtonTap', btn);
}
}
function parseTitleNViewButtons (titleNView) {
const buttons = titleNView.buttons;
if (!Array.isArray(buttons)) {
return titleNView
}
buttons.forEach((btn, index) => {
btn.onclick = createButtonOnClick(index);
});
return titleNView
}
function parseTitleNView (routeOptions) {
const windowOptions = routeOptions.window;
const titleNView = windowOptions.titleNView;
......@@ -6061,7 +6086,7 @@ var serviceContext = (function () {
routeOptions.meta.statusBarStyle = windowOptions.navigationBarTextStyle === 'black' ? 'dark' : 'light';
if (isPlainObject(titleNView)) {
return Object.assign(ret, titleNView)
return Object.assign(ret, parseTitleNViewButtons(titleNView))
}
return ret
......
......@@ -3,6 +3,31 @@ import {
}
from 'uni-shared'
function createButtonOnClick (index) {
return function onClick (btn) {
const pages = getCurrentPages()
if (!pages.length) {
return
}
btn.index = index
const page = pages[pages.length - 1]
page.$vm &&
page.$vm.__call_hook &&
page.$vm.__call_hook('onNavigationBarButtonTap', btn)
}
}
function parseTitleNViewButtons (titleNView) {
const buttons = titleNView.buttons
if (!Array.isArray(buttons)) {
return titleNView
}
buttons.forEach((btn, index) => {
btn.onclick = createButtonOnClick(index)
})
return titleNView
}
export function parseTitleNView (routeOptions) {
const windowOptions = routeOptions.window
const titleNView = windowOptions.titleNView
......@@ -46,7 +71,7 @@ export function parseTitleNView (routeOptions) {
routeOptions.meta.statusBarStyle = windowOptions.navigationBarTextStyle === 'black' ? 'dark' : 'light'
if (isPlainObject(titleNView)) {
return Object.assign(ret, titleNView)
return Object.assign(ret, parseTitleNViewButtons(titleNView))
}
return ret
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册