위 챗 애플 릿 사용자 정의 상단 구성 요소 customeHeader 의 예제 코드
7336 단어 애플 릿customHeader구성 요소
{
"window": {
"navigationStyle":"custom"
}
}
app.json 의 파일 window 에"navigationStyle":"custom"속성 을 설정 하면 됩 니 다.2.사용자 정의 상단 계산 원리
2.1 시스템 상태 표시 줄 의 높이 와 화면 너비 가 져 오기
wx.getSystemInfo 라 는 함 수 를 사용 하여 시스템 상태 표시 줄 의 높이 와 화면 폭 을 가 져 옵 니 다.
2.2 오른쪽 상단 캡슐 위치 정보 획득
wx.getMenuButton BoundingClient Rect()방법 으로 오른쪽 상단 캡슐 위치 정 보 를 얻 습 니 다.
문 제 는 캡슐 의 상하 와 왼쪽 거 리 를 사용자 정의 하 는 것 이다.
2.3 사용자 정의 상단 거리 계산 코드
app.js 코드 는 다음 과 같 습 니 다.
App({
//
onLaunch: function() {
//
let capsuleObj = wx.getMenuButtonBoundingClientRect();
// console.log("== ==");
// console.log(capsuleObj);
wx.getSystemInfo({
success: (res) => {
// console.log("== ==");
// console.log(res)
var statusBarHeight = res.statusBarHeight; //
this.globalData.capsuleObj = capsuleObj;
this.globalData.titleHeight = statusBarHeight + capsuleObj.height + (capsuleObj.top - statusBarHeight) * 2;
},
failure() {
}
})
},
//
globalData: {
loginStatus: false,
},
})
3,패키지 사용자 정의 상단3.1 효과 도 전시
3.2 구성 요소 코드
index.wxml
<!--components/customHeader/index.wxml-->
<view class="customHeader_box" style="height:{{titleHeight}}px; background-color:{{bgColor}};">
<!-- -->
<view wx:if="{{menuFlag}}" class="menu_box" style="height:{{capsuleObj.height}}px; top:{{capsuleObj.top}}px;">
<view class="customIcon" bindtap="meunClick">
<image src="/images/customMenu.png"></image>
</view>
</view>
<!-- + -->
<view wx:if="{{backHomeFlag}}" class="backHome_box" style="width:{{capsuleObj.width}}px; height:{{capsuleObj.height}}px; top:{{capsuleObj.top}}px;">
<view class="customIcon backIcon" bindtap="backClick">
<image src="/images/customBack.png"></image>
</view>
<view class="customIcon homeIcon" bindtap="homeClick">
<image src="/images/customHome.png"></image>
</view>
</view>
<!-- -->
<view class="customHeader_title" style="top:{{capsuleObj.top}}px; height:{{capsuleObj.height}}px; line-height:{{capsuleObj.height}}px;">
{{customTitle}}
</view>
</view>
<!-- -->
<view class="customWrap" style="height:{{titleHeight}}px;"></view>
index.wxss
/* components/customHeader/index.wxss */
.customHeader_box {
width: 100%;
overflow: hidden;
position: fixed;
top: 0;
left: 0;
z-index: 99999;
}
.customIcon {
flex: 1;
}
.customIcon image {
width: 30rpx;
height: 30rpx;
}
/* */
.menu_box{
text-align: center;
box-sizing: border-box;
overflow: hidden;
position: absolute;
left: 10px;
z-index: 11;
display: flex;
justify-content: space-between;
align-items: center;
}
.menu_box .customIcon image{
width: 36rpx;
height: 36rpx;
}
/* + */
.backHome_box {
text-align: center;
border: 1px solid #e5e5e5;
border-radius: 20px;
box-sizing: border-box;
overflow: hidden;
position: absolute;
left: 10px;
z-index: 11;
display: flex;
justify-content: space-between;
align-items: center;
}
.backIcon {
border-right: 1rpx solid #e5e5e5;
}
/* */
.customHeader_title {
width: 100%;
padding-left: 115px;
padding-right: 115px;
text-align: center;
font-size: 32rpx;
font-weight: bold;
color: #333;
text-overflow: ellipsis;
box-sizing: border-box;
overflow: hidden;
white-space: nowrap;
position: absolute;
left: 0;
z-index: 10;
}
/* */
.customWrap{
width: 100%;
position: relative;
left: 0;
z-index: 99998;
}
index.js
// components/customHeader/index.js
const app = getApp();
Component({
/**
*
*/
properties: {
customTitle: String,
bgColor: {
type: String,
value: '#fff'
},
menuFlag: {
type: Boolean,
value: false
},
backHomeFlag: {
type: Boolean,
value: false
},
},
/**
*
*/
data: {
},
attached: function() {
this.setData({
titleHeight: app.globalData.titleHeight,
capsuleObj: app.globalData.capsuleObj
})
},
options: {
multipleSlots: true, // slot
},
/**
*
*/
methods: {
//
meunClick: function () {
wx.navigateTo({
url: '/pages/menu/menu',
})
},
//
backClick: function() {
wx.navigateBack({
delta: 1
})
},
//
homeClick: function() {
wx.navigateTo({
url: '/pages/index/index'
})
},
}
})
index.json
{
"component": true
}
4.구성 요소 사용 방법index.wxml
<!--pages/index/index.wxml-->
<!-- -->
<customHeader menuFlag customTitle=" "></customHeader>
<view class="url">
<navigator hover-class="none" url="../child/child"> </navigator>
</view>
ps:여기 두 가지 스타일 을 봉 인 했 습 니 다.mene Flag 은 메뉴 입 니 다.backHomeFlag 은'되 돌아 가기+첫 페이지'스타일 입 니 다.json 설정
{
"usingComponents": {
"customHeader": "/components/customHeader/index"
}
}
5.소결이 구성 요소 의 호환성 은 안 드 로 이 드,IOS,앞머리 화면 을 호 환 할 수 있 습 니 다.새로운 bug 가 테스트 되면 gitHub 에서 issues 를 제기 하여 해결 할 수 있 습 니 다.
링크:
위 챗 애플 릿 사용자 정의 상단 구성 요소
위 챗 애플 릿-사용자 정의 상단 구성 요소 customeHeader 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 위 챗 애플 릿 사용자 정의 상단 구성 요소 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
애플 릿 이미지 새로 고침, nginx 재 작성 url 제거 인자이전에 nginx 로 이미지 서버 를 만 들 었 는데 전단 에 작은 프로그램 을 사 용 했 습 니 다. 작은 프로그램 이 출시 된 후에 그림 이 새로 고침 되 지 않 는 것 을 발 견 했 습 니 다. 조사 한 결과 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.