[前端][fmui]跳转返回后页面刷新,导致已填的数据重置
问题现象
政务微信平台,遇到需要跳转到另一页面获取数据并返回给当前页面时,页面自动刷新,所有填了的数据都被重置。
问题原因
纯H5页面在返回时会自动刷新。
解决方案
改为使用FMUI的epointm.openDialog
弹窗打开需要跳转的页面,这样关闭弹窗当前页面就不会刷新了
父页面打开弹出框方法
父页面(FMUI页面)
/**
* 打开一个弹出框
*
* @param {String} title 弹出框的标题
* @param {String} url 弹出框中页面的地址
* @param {Function} callback 关闭时的回调,参数为弹出页面传回来的数据action
* @param {Object} settings 其他不常用参数,格式如下:
*/
epointm.openDialog('测试测', './dialogchild.html', function(rtn) {
console.log(rtn);
console.log('关闭页面成功!');
},{
// 给子页面传递的参数
params: {
test: 123
},
height: "100%", // 弹窗高度 ,默认 500px
position: "bottom", // 弹窗显示位置 , 默认 bottom
showCloseButton: false, // 显示关闭按钮 , 默认 false
})
子页面对应关闭方法参考以下代码:
子页面(FMUI页面)
/**
* 关闭弹出框
* params {String | Object} 传递参数
*/
epointm.closeDialog('ok')
子页面(FMUI页面或非FMUI页面非跨域页面)
window.parent.epointm.closeDialog('ok')
子页面跨域
使用Pipeline在子页面调用父页面写的关闭方法
var pageB_Server = new Pipeline('父页面的window对象');
pageB_Server.exec('epointm.closeDialog', '传给父页面的参数', function (err, result) {});
Pipeline
具体使用方法可参考下面的链接:
epointm
更多api可参考下面的链接: