初次使用bui项目实战,不太懂如何操作,请教一下,谢谢!


1、多页模式开发,BUI v1.8.5 。

2、业务页面用于选择已有银行账号,使用 bui.page 方法居中弹出子窗口,iframe: true。


希望实现子窗口选中内容后,自动关闭当前弹窗。


查了相当文档,以下方法有点类似,但不知道在多页模式下如何获得module.id。

var dialog = bui.history.getPageDialog(module.id);
// dialog.close();

点赞(0)

评论列表 共有 8 条评论

王小o 6月前 回复TA

----
iframe 里面 可能要加上 window.parent.bui.history.getPageDialog("bank_account_select").close() ; 
还有一种,给它加上 bui.page({uid:"xxx"})  ;  window.parent.bui.cmd("xxx:close"); 
当然,你使用的方式也是可以的。

嗯评论有bug,不能用复制粘贴,不然检测不到,回头再看看啥原因


FFCZ 6月前 回复TA

咱们这个评论窗口的判断字符长度有问题,我打了很多字,有中文有英文,也分行,一直提示说“评论最少输入3个字符”。写了好多次都发表不了。再次谢谢你的回复。

FFCZ 6月前 回复TA

按你的办法还是不行。dialogid我赋了一个bank_account_select,bui.history.getPageDialog("bank_account_select").close()一直提示,加个parent也不行。目前暂时用parent.$('#bank_account_select').hide()处理关闭。

王小o 6月前 回复TA

iframe:true 的设计主要是用在展示第三方的,可以配置 close: true; 会有个x,来关闭这个 page。 你在iframe里面要操作这个dialog关闭的话,可以试试 bui.page({ dialogid:"xxx"}) ,在iframe里面,通过 bui.history.getPageDialog("xxx").close() 之类的方式,试试,这个我们也没实际操作过,要交互的情况下,都是采用标准组件化,异步请求接口的方式。

FFCZ 6月前 回复TA

我的问题,就是想在这个iframe页面,通过parent操作,把当前这个page关闭。parent.$('#' + field_id).val('xxxxxxxx'); 已测试通过,但窗口要手工关闭。
pc版在用layui,是这样实现在的。
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);

FFCZ 6月前 回复TA

第一次,使用bui.page,url是本地目标页面,iframe默认,但请求时不知道为什么,自动变成.js后辍导致失败(实际.php),放弃;
第二次,把iframe改成ture,就可以实现自已弹出目标页面,一直沿用下来,其它操作不影响,挺好的;

王小o 6月前 回复TA

不理解的话可以继续评论交流

王小o 6月前 回复TA


有些背景不太清楚。 
iframe: true 可以理解为这个是第三方的页面,只有展示权,没有操作权吗?如果是这种情况,那只能通过 iframe:false,  bui.page 加载一个自定义的组件,这个自定义组件里面有 iframe 用于加载第三方的页面,并且自定义一个按钮,用来跟 bui的交互。 

bui.page 如果 iframe:false 的情况下,加载的是本地的标准组件,里面就还是可以自动获取到对话框的id。 也可以 bui.page 初始化时传一个自定义的 dialogid, 这样里面也可以把 module.id 改为自定义的id。


订阅
更新

微信公众账号

微信扫一扫加关注

扫码
加群

BUI开发者交流群2

QQ扫码加群

扫码
体验

微信小程序

微信扫一扫体验

立即
投稿
发表
评论
返回
顶部