跳到主要内容

Header 头部导航

duxapp默认将头部设置为了自定义,每个页面面建议都使用一个头部组件作为标题的显示,且Header组件会控制状态栏颜色显示、H5页面标题显示

示例

import { Header, ScrollView, TopView, GroupList, Text } from '@/duxuiExample'

export default function CellExample() {
return <TopView>
<Header title='Header' />
<ScrollView>
<GroupList>
<GroupList.Item title='基础用法' desc='Header 组件包含了状态栏的部分,所以此处呈现的高度比较高'>
<Header title='标题' />
</GroupList.Item>
<GroupList.Item title='右侧自定义渲染' desc='右侧渲染的内容在小程序上会排除胶囊按钮,所以右侧内容在小程序上不会在最右侧'>
<Header title='标题' renderRight={<Text>右侧</Text>} />
</GroupList.Item>
<GroupList.Item title='自定义样式'>
<Header title='标题' style={{ backgroundColor: '#333' }} color='#fff' />
</GroupList.Item>
</GroupList>
</ScrollView>
</TopView>
}

Props

继承自Taro的View Props

title

标题,这个标题在在小程序中会在最左边,也就是返回按钮的右边,在其他端会在中间,为因小程序上右侧有胶囊,所以将标题放在左侧

如果你在首页,首页不会有返回按钮,这时标题还在左侧他就会有点不太协调,通过设置 titleCenter 属性为 true 可以将首页的标题居中

类型必填默认值
string

h5端显示在头部的标题 默认等于title 设置为空将不会产生变化

类型必填默认值
stringtitle

color

设置导航标题的颜色,返回按钮是用的图片,标题颜色设置为深色,那么放回按钮是黑色,反之则是白色

如果要设置导航单的背景颜色通过 bgColor 进行设置(不支持通过css)

类型必填默认值
string

bgColor

覆盖默认的背景颜色

类型必填默认值
string

transparent

是否将背景设置为透明

类型必填默认值
boolean

absolute

使用绝对定位,让Header悬浮在其他内容上面,例如某些页面头部通常是一个幻灯片图片,是没有header的,但是他又有返回按钮

设置按钮颜色为黑色,设置背景颜色为透明

import { Header, ScrollView, TopView } from '@/duxapp'

export default TopView.page(function Duxapp() {

return <>
<Header absolute color='#000' style={{ backgroundColor: 'transparent' }} />
<ScrollView>
... 幻灯片
... 页面内容
</ScrollView>
</>
})

show

用于控制组件的显示和隐藏

类型必填默认值
booleantrue

showStatus

show=false的情况下时候显示status状态栏

类型必填默认值
booleanfalse

renderMain

自定义渲染标题区域

类型必填默认值
ReactElement

renderHeader

自定义渲染整个Header,包括返回区域和右侧区域

类型必填默认值
ReactElement

renderLeft

自定义渲染右侧区域

类型必填默认值
ReactElement

renderRight

自定义渲染返回区域

类型必填默认值
ReactElement

titleCenter

强制将标题显示在中间 仅在主页生效

类型必填默认值
booleanfalse

onBackClick

左侧按钮点击事件 点击左侧按钮时,如果传入了点击事件 则点击按钮时不会触发返回操作

如果返回 true 会执行默认返回操作

类型必填默认值
(option) => boolean | Promise<boolean>

option 参数可以获取当前的返回状态

{
isBack: boolean
isBackHome: boolean
}

Header.Back Props

返回按钮组件,当你使用了renderHeader属性的时候,返回按钮将不在header上,你可以使用这个组件替代返回按钮的位置。

这个组件只能出现在Header组件的内部,例如 renderHeader 属性内

import { Header } from '@/duxapp'

<Header
title='页面标题'
renderHeader={<View>
<Header.Back />
<View>其他部分</View>
</View>}
/>
信息

Header.Back 基本只有这一种用法,这个组件不可单独使用,使用了将无法达到预定功能

主题配置

header的主题配置在 theme.header

bgColor

默认背景颜色,仅支持rgb hex值,请勿使用纯单词 设置为数组将显示一个渐变按钮

类型默认值
string | string[]#fff

color

默认文字颜色

类型默认值
string#000

showWechat

微信H5是否显示header

类型默认值
booleanfalse

showWap

除去微信端,其他h5是否显示header

类型默认值
booleantrue