网站首页 > 基础教程 正文
本章关键字:Python数据可视化、Dash开源库Bootstrap、Poltly Dash Bootstrap控件、折叠列表用法、accordion函数用法
通过前面章节的介绍,我们已经基本了解了Python如何通过Dash Bootstrap Components组件做基础的布局,接下来我们开始逐步介绍Bootstrap库中的各种组件的基本用法,对基础还不了解的,可以翻找以前的文章或视频。
本章节我们详细介绍下如何使用Python操作Bootstrap库中的折叠列表控件,Accordion,即折叠列表。
这里我们主要介绍两个组件:Accordion与AccordionItem,每个节区头部表格都由AccordionItem的标题支柱确定,效果如下图:
Demo代码如下所示:
import dash_bootstrap_components as dbc
from dash import html, Input, Output, callback
accordion_html = html.Div([
html.Br(),
html.P(html.Strong('使用Accordion组件创建可折叠列表', style={'color': 'rgb(255, 153, 51)'})),
html.Br(),
dbc.Accordion(
[
dbc.AccordionItem(
[
html.P("这是项目一里面的内容"),
dbc.Button("可点击按钮"),
],
title="项目一",
item_id='项目一的ItemId'
),
dbc.AccordionItem(
[
html.P("这是项目二里面的内容"),
dbc.Button("不可点击按钮", color="danger"),
],
title="项目二",
item_id='项目二的ItemId',
),
dbc.AccordionItem("这是项目一里面的内容", title="项目三", item_id='项目三的ItemId'),
],
id='accordion_always_open',
always_open=True, # 可以使accordion items在另一个item打开时保持打开状态。
),
html.Div(id='accordion_contents_open_ids', className='mt-3')
])
@callback(
Output('accordion_contents_open_ids', 'children'),
# active_item当前活动项的item_id,参数为字符串或列表。如果没有为活动项目指定item_id,则默认为item-i,
# 其中i是项目的索引(从0开始)。如果always_open=True,这需要是一个字符串id列表。
[Input('accordion_always_open', 'active_item')]
)
def change_item(item):
return f'当前选择的Item={item}'
接下来,我们来详细介绍下这两个组件的用法
Accordion
- children:该组件的子组件,可传入list或者单个的dash组件,也可传入字符串或者数字。
- id:此组件的ID,用于识别回调中的Dash组件。ID在应用中的所有组件中都必须是唯一的。
- active_item:当前活动项的item_id,参数为字符串或列表。如果没有为活动项目指定item_id,则默认为item-i,其中i是项目的索引(从0开始)。如果always_open=True,这需要是一个字符串id列表。
- always_open:布尔值,默认False,通过使用always_open道具,可以使accordion items在另一个item打开时保持打开状态。
- class_name:字符串,通常与CSS一起使用,以设置具有公共属性的元素的样式。
- flush:布尔值,用它的父容器全平面渲染accordion。
- key:组件的唯一标识符,用于在渲染组件时提高React.js的性能。
- loading_state:该对象保存来自dash-renderer的加载状态。
- persisted_props:值等于的列表:'active_item's,默认[“active_item”],属性其用户交互在刷新组件或页面后将持续存在。因为只允许value,所以通常可以忽略这个道具。
- persistence:布尔或字符串或数字,用于允许在刷新组件(或页面)时保持此组件中的用户交互。如果persistent是真值,并且没有从它之前的值发生变化,那么用户在使用应用程序时更改的值将保持该变化,只要新值也匹配最初给出的值。与persistence_type一起使用。
- persistence_type:值等于'local', 'session', 'memory',默认'local',持久用户更改的存储位置:内存:只保存在内存中,在页面刷新时重置。本地:窗口。localStorage,在浏览器退出后保存数据。会话:窗口。sessionStorage,一旦浏览器退出,数据将被清除。
- start_collapsed:布尔,默认False,设置为True为所有项目最初被折叠。
- style:定义将覆盖先前设置的样式的CSS样式。
AccordionItem
- children:该组件的子组件,可传入list或者单个的dash组件,也可传入字符串或者数字。
- id:此组件的ID,用于识别回调中的Dash组件。ID在应用中的所有组件中都必须是唯一的。
- class_name:字符串,通常与CSS一起使用,以设置具有公共属性的元素的样式。
- item_id:字符串,可选的项目标识符,用于确定在没有指定的情况下哪个项目是可见的,并且AccordionItem在Accordion组件中使用,itemId将被设置为“item-i”,其中i是传递给Accordion组件的列表项中项目的位置(零索引)。
- loading_state:该对象保存来自dash-renderer的加载状态。
- style:定义将覆盖先前设置的样式的CSS样式。
- title:显示的标题。
我们可以对应Demo代码,一项项去理解各个参数的含义,这样在实际使用过程中就能如鱼得水了。
猜你喜欢
- 2024-12-27 Vue3+Bootstrap5项目初始化 vue 项目初始化
- 2024-12-27 前端程序员不得不爱的bootstrap 前端 bom
- 2024-12-27 保姆级软路由刷机+软路由OpenWRT入门设置,新手轻松搭建软路由
- 2024-12-27 好东西!iOS 16.5 半越狱分屏功能,教你正确安装
- 2024-12-27 终于发布!iOS 16.5 越狱工具已发布,分屏插件有效
- 2024-12-27 超爽!iOS 16.6.1 Bootstrap 半越狱更新,有通知
- 2024-12-27 好玩!iOS 16.6.1 半越狱玩法,这插件真生效
- 2024-12-27 来啦!iOS 16.6.1 nathanlr 半越狱,被迫公测体验
- 2024-12-27 iOS 17.0 Bootstrap 1.2.9 半越狱来啦!更新两点
- 2024-12-27 day58:bootstrap框架 bootstrap框架怎么样
- 最近发表
-
- Vue3+Bootstrap5项目初始化 vue 项目初始化
- 前端程序员不得不爱的bootstrap 前端 bom
- 保姆级软路由刷机+软路由OpenWRT入门设置,新手轻松搭建软路由
- 好东西!iOS 16.5 半越狱分屏功能,教你正确安装
- Python数据可视化Dash开源库Bootstrap之折叠列表Accordion
- 终于发布!iOS 16.5 越狱工具已发布,分屏插件有效
- 超爽!iOS 16.6.1 Bootstrap 半越狱更新,有通知
- 好玩!iOS 16.6.1 半越狱玩法,这插件真生效
- 来啦!iOS 16.6.1 nathanlr 半越狱,被迫公测体验
- iOS 17.0 Bootstrap 1.2.9 半越狱来啦!更新两点
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)