# Toolbar开发指导 Toolbar为页面工具栏组件,用于展示针对当前界面的操作选项,可作为页面的一级导航。具体用法请参考[Toolbar](../reference/arkui-js/js-components-basic-toolbar.md)。 ## 创建Toolbar组件 在pages/index目录下的hml文件中创建一个Toolbar组件。 ```
``` ``` /* xxx.css */ .container { flex-direction: column; justify-content: center; align-items: center; background-color: #F1F3F5; } toolbar-item{ font-size: 35px; } ``` ![zh-cn_image_0000001175668970](figures/zh-cn_image_0000001175668970.gif) ## 添加子组件 Toolbar组件仅支持toolbar-item为子组件,页面最多可以展示5个toolbar-item子组件,如果存在6个及以上toolbar-item,则保留前面4个,后续的将收纳到工具栏上的更多项中,通过点击更多项弹窗进行展示。并且更多项展示的组件样式采用系统默认样式,toolbar-item上设置的自定义样式不生效。 ```
``` ``` /* xxx.css */ .container { flex-direction: column; justify-content: center; align-items: center; background-color: #F1F3F5; } toolbar-item{ font-size: 35px; } ``` ![zh-cn_image_0000001175828962](figures/zh-cn_image_0000001175828962.gif) ## 设置样式 设置position样式控制Toolbar组件的位置,并设置子组件toolbar-item的字体颜色、大小及背景色。 ```
``` ``` /* xxx.css */ .container { background-color: #F1F3F5; flex-direction: column; width: 100%; justify-content: center; align-items: center; } toolbar-item{ font-size: 35px; } .toolbarActive{ color: red; background-color: #daebef; } ``` ![zh-cn_image_0000001218279254](figures/zh-cn_image_0000001218279254.png) ## 绑定事件 分别给toolbar-item绑定单击事件和长按事件,单击后文本变红,长按时文本变蓝。 ```
``` ``` /* xxx.css */ .container { background-color: #F1F3F5; flex-direction: column; width: 100%; justify-content: center; align-items: center; } toolbar-item{ font-size: 35px; } ``` ``` // xxx.js import prompt from '@system.prompt'; export default { data:{ itemColor:'black' }, itemClick(){ this.itemColor= "red"; prompt.showToast({duration:2000,message:'item click'}); }, itemLongPress(){ prompt.showToast({duration:2000,message:'item long press'}); this.itemColor= "blue"; }, } ``` ![zh-cn_image_0000001218439306](figures/zh-cn_image_0000001218439306.gif) > ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** > Toolbar组件不支持添加事件和方法,但其子组件toolbar-item支持。 ## 场景示例 本场景中开发者可点击toolbar-item组件,改变当前组件文本颜色并更换相对应的图片内容。 使用for循环创建toolbar-item组件并添加点击事件,点击后获得索引值进行存储。设置文本颜色时,判断当前索引值是否为储存的值,若相同则设置为红色,不同则使用默认颜色。 ```
``` ``` /* xxx.css */ .container { background-color: #F1F3F5; flex-direction: column; width: 100%; justify-content: center; align-items: center; } toolbar-item{ font-size: 35px; } ``` ``` // xxx.js import prompt from '@system.prompt'; export default { data:{ active: 0, imgList:["common/images/1.png","common/images/2.png","common/images/3.png","common/images/4.png"], itemList:[ {option:'item1',icon:'common/images/1.png'}, {option:'item2',icon:'common/images/2.png'}, {option:'item3',icon:'common/images/3.png'}, {option:'item4',icon:'common/images/4.png'}, ] }, itemClick(id){ this.active= id; }, } ``` ![zh-cn_image_0000001263279105](figures/zh-cn_image_0000001263279105.gif)