最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • vue - 关于页面全局自动关闭吐司解决方案(uniapp)

    正文概述 掘金(Qinro)   2021-03-27   744

    解决方案一、全局自定义吐司组件

    • 记录点击的坐标(x,y)
    • 具体的操作列表
    • 类型(上弹出、下弹出、左右)
    • 每个点击项的执行函数(返回父级页面,自动执行)
    • 高度一定是整个页面的高度和宽度,透明,点击、触动、隐藏都要执行关闭吐司方法

    positions: fixed (y 会过高-滚动) || absoluted (高度不定)

    解决方案二、有吐司的页面自定义关闭事件

    包含吐司组件中,在其开启吐司的方法定义:

    // 是否显示帖子操作
        showOptionHandle: function(show, e){
            this.isOpenOptions = show;
            let { x, y } = e.detail;
            let params = {
                show: show,
                topicIndex : this.topicIndex
            }
            if(!show){
                this.$parent.showOptionsHandle(params);
            }
        },
        // 关闭帖子吐司操作 - 外部有其他弹窗打开时,或者页面hide时
        closeOptions: function(){
            this.isOpenOptions = false;
            this.openReplyOptions = false;
        },
    

    父级页面

        // 所有吐司操作 - 由子组件toast-item触发
        showOptionsHandle: function(){
            <!-- 同页面多个toastItem组件时,只有一个不用谢 -->
            // this.$refs.toastItem.closeOptions();
        },
        // 此页面直接关闭所有帖子的吐司
        closeToastHandle: function(){
            let param = {show:true, index: -1};
            this.isOpenReplyOptions = false;
            this.$refs.toastItem.closeOptions();
        },
    
        // 页面隐藏
        onHide: function(){
    		this.closeToastHandle()
    	},
    	// 页面滚动
    	onPageScroll: function(e){
    		if(e.scrollTop > 150){
    			// 有滚动,关闭吐司
    			this.closeToastHandle();
    		}
    	},
    

    解决方案三、 在使用吐司的页面最外层的div/view,添加点击事件,默认关闭吐司

    -相关资料

    <!-- 阻止单击事件继续传播 -->
    <a v-on:click.stop="doThis"></a>
    
    <!-- 提交事件不再重载页面 -->
    <form v-on:submit.prevent="onSubmit"></form>
    
    <!-- 修饰符可以串联 -->
    <a v-on:click.stop.prevent="doThat"></a>
    
    <!-- 只有修饰符 -->
    <form v-on:submit.prevent></form>
    
    <!-- 添加事件监听器时使用事件捕获模式 -->
    <!-- 即内部元素触发的事件先在此处理,然后才交由内部元素进行处理 -->
    <div v-on:click.capture="doThis">...</div>
    
    <!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
    <!-- 即事件不是从内部元素触发的 -->
    <div v-on:click.self="doThat">...</div>
    

    以上属于个人开发实践与经验,功底有限,仅供参考


    起源地下载网 » vue - 关于页面全局自动关闭吐司解决方案(uniapp)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元