美文网首页uniAppWeb 前端开发 让前端飞
Uni-app 开发技巧(2020-01-17 更新)

Uni-app 开发技巧(2020-01-17 更新)

作者: GloryMan | 来源:发表于2020-01-02 12:55 被阅读0次
    1. uniapp 使用nvue 布局不生效 (HB版本 2.5.1.20200103)
      使用class 布局在切花的时候不生效,
      解决方法 使用 style 布局就可以了

    2. 使用titleNvue 中buttions 配置的导航按钮, uni-app在App端动态修改导航栏按钮

    // #ifdef APP-PLUS  
    var webView = this.$mp.page.$getAppWebview();  
    
    // 修改buttons  
    // index: 按钮索引, style {WebviewTitleNViewButtonStyles }  
    webView.setTitleNViewButtonStyle(0, {  
        text: 'hello',  
    });  
    
    // 修改按钮上的角标  
    // index: 按钮索引, text: 角标文本内容  
    webView.setTitleNViewButtonBadge({  
        index: 0,  
        text: 10,  
    });  
    
    // 设置 searchInput的 focus  
    // focus: true | false  
    webView.setTitleNViewSearchInputFocus(true)  
    
    // 设置 searchInput的 text  
    webView.setTitleNViewSearchInputText(text)  
    
    // searchInput 通过 webview 的 setStyle 方法进行更新  
    var tn = currentWebview.getStyle().titleNView;  
    if (tn.buttons) {    
    uni.getSystemInfo({    
        success:function(res){    
            if (res.platform=="ios") { // 这里在HBuilderX 1.9.9版本有个bug,searchInput的I变小写了 ,临时绕过下。更高版本会修复此bug    
                tn.searchinput.placeholder = 'test';    
                currentWebview.setStyle({    
                    titleNView: tn    
                });    
            } else{    
                tn.searchInput.placeholder = 'test'; //这里有个已知bug,HBuilderX 1.9.9上,当searchInput位于首页时,动态设置placehold会导致buttons的点击事件消失。更高版本会修复此bug    
                currentWebview.setStyle({    
                    titleNView: tn    
                });    
            }    
        }    
    })    
    }    
    
    // #endif
    

    参考这个原理,可以任意修改titleNView的所有内容,titleNView的style内容详见:
    https://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewTitleNViewStyles

    button的相关属性参考:http://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewTitleNViewButtonStyles

    searchInput的相关属性参考:https://www.html5plus.org/doc/zh_cn/webview.html#plus.webview.WebviewTitleNViewSearchInputStyles

    1. 在nvue页面 使用 .stop 阻止事件冒泡不起作用
      目前解决方法: 在事件中使用
    // 第一种方法不带参数
    <view @click.stop="click">
    click:function() {
        event.stopPropagation();
    }
    
    // 第二种方法带参数的
    <view @click.stop="click(item,$event)">
    click:function(item,event) {
        event.stopPropagation();
    }
    
    
    1. 在 iPhoneX 上列表底部安全区域获取:
    padding-bottom: 0;  
    padding-bottom: constant(safe-area-inset-bottom);  
    padding-bottom: env(safe-area-inset-bottom);  
    

    7.导航栏使用字体图标、设置透明导航栏

    "style": {
        "app-plus": {
            "titleNView": {
                "type": "float",
                "titleText": "",
                "backgroundColor": "rgba(0,0,0,0.3)",
                "buttons":[
                    {
                        "text": "\ue619",
                        "float": "left",
                        "width": "auto"
                    }
                ]
            }
        }
    }
    
    1. 文本两段对齐显示
    text-aligin: justify
    
    1. 解决安全区域颜色和页面背景色不统一或者有安全区域问题

    设置之后系统会自动设置安全区域高度

    "safearea": {
                "bottom": {
                    "offset": "none|auto"
                }
            },
    
    1. 文本显示两行
        width:200px;
        word-break:break-all;
        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    
    1. 文本单行展示,超出的现实三个点
        display: inline-block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    
    1. 原生tabbar 中间按钮凸起或者剧中显示实现方法
        "midButton": {
            "height": "44px",
            "iconPath": "static/tabbar/tab_icon_ps@3x.png",
            "iconWidth": "37px",
            "backgroundImage": ""
        }
    
    1. 页面闪白问题解决方法在pages.json 中添加一下代码来设置你想要的颜色
        "globalStyle": {
            "app-plus": {
                "background": "rgba(34, 33, 33, 1)"
            }
        },
    

    相关文章

      网友评论

        本文标题:Uni-app 开发技巧(2020-01-17 更新)

        本文链接:https://www.haomeiwen.com/subject/siwnoctx.html