fac项目地址:https://github.com/CNFeffery/feffery-antd-components

fuc项目地址:https://github.com/CNFeffery/feffery-utils-components

欢迎star支持

  大家好我是费老师,由我开源维护的Python网页开发相关组件库fac和fuc分别更新到了0.2.9版本和0.1.29版本,本文就将为大家介绍它们在各自新版本中的更新内容,使用下面的命令将它们快速更新至最新版本:

pip install feffery-utils-components feffery-antd-components -U -i https://mirrors.aliyun.com/pypi/simple/

1 fac 0.2.9版本更新内容介绍

1.1 下拉选择、穿梭框、树选择新增多模式搜索功能

  从0.2.9版本开始,fac中的下拉选择组件(AntdSelect)、穿梭框组件(AntdTransfer)、树选择组件(AntdTreeSelect)新增多模式搜索快捷功能,可以帮助我们在使用这些组件时,为其中涉及到的搜索框功能设置不同的搜索匹配方式。

  以下拉选择组件为例,通过设置参数optionFilterMode,可以在大小写不敏感、大小写敏感、正则表达式等三种不同模式之间进行切换:

  • 大小写不敏感(默认)

  • 大小写敏感

  • 正则表达式

  具体使用请参考fac官网中的相关示例:

1.2 表格组件单元格支持自由内容渲染

  得益于dash在2.10版本后的底层新特性,从0.2.9版本开始,fac中的多功能表格组件AntdTable支持在表格单元格中传入任意的组件型元素,从而实现任意内容的自由渲染。

  以fac官网相关示例为例,在下面的表格中,我们在同一列的三个单元格中分别渲染了带滚动条的文字内容、markdown文档、二维码:

  具体使用请参考官网示例:https://fac.feffery.tech/AntdTable-rerender#自定义单元格元素

1.3 表格组件单元格编辑新增文本域模式

  熟悉fac的用户都知道,在表格组件AntdTable中可以快捷开启单元格可编辑功能,在之前的版本中,编辑功能开启后,对应字段的单元格会渲染为可交互的常规输入框。

  而从0.2.9版本开始,在为对应字段设置子参数editable为True的前提下,可通过额外的子参数editOptions来切换为文本域输入框,从而实现段落换行等格式内容的编辑保存:

fac.AntdTable(
columns=[
{
'title': '文本域编辑示例',
'dataIndex': '文本域编辑示例',
'editable': True,
'editOptions': {
'mode': 'text-area', # 开启文本域编辑模式
'autoSize': {
'minRows': 1,
'maxRows': 3
}
}
}
],
data=[
{
'文本域编辑示例': '内容示例'
}
] * 3,
bordered=True,
style={
'width': 200
}
)

1.4 表格组件新增selectedRowsSyncWithData参数

  在之前版本的fac中,为表格组件开启行选择功能后,selectedRows属性会在每次用户进行行选择行为时,监听到最新的已选行记录数组,但如果后续表格数据源参数data进行了更新,先前监听到的selectedRows并不会自动随之刷新,因为默认情况下selectedRows的更新时机在用户进行行选择行为后的瞬间。

  而从0.2.9版本开始,通过为AntdTable组件设置参数selectedRowsSyncWithData=True,可以实现后续data更新后,自动同步对应key值的最新行记录数据:

  具体使用请参考官网示例:https://fac.feffery.tech/AntdTable-advanced#同步刷新selectedRows

1.5 日期范围选择、时间范围选择新增open参数

  新版本中,日期范围选择组件AntdDateRangePicker、时间范围选择组件AntdTimeRangePicker新增参数open,可用于设置或监听对应组件悬浮选择层的展开状态

  更多有关fac 0.2.9新版本的介绍请移步https://fac.feffery.tech/change-log-v0.2.9

2 fuc 0.1.29版本更新内容介绍

  除了fac之外,我的另一个开源实用工具组件库fuc( https://fuc.feffery.tech/ )也于近期更新到0.1.29版本,这也将是fuc 0.2.0发布之前的最后一个版本。

  在fuc 0.1.29版本中新增尺寸调整组件FefferyResizable(文档页地址:https://fuc.feffery.tech/FefferyResizable ),基于它我们可以非常方便的构建可进行尺寸调整的容器,举一个典型示例,宽度可调的侧边菜单页面布局方案,结合自定义拖拽控件样式:

  对应源码:

import dash
from dash import html
import feffery_antd_components as fac
import feffery_utils_components as fuc app = dash.Dash(__name__) app.layout = html.Div(
[
# 注入动态样式
fuc.FefferyStyle(
rawStyle='''
.custom-right-resize-handle:hover, .custom-right-resize-handle:active {
background: #007fd4;
transition: 0.3s background;
} .custom-right-resize-handle {
transition: 0.3s background;
width: 4px !important;
right: -2px !important;
}
'''
), fac.AntdRow(
[
fac.AntdCol(
fac.AntdAffix(
fuc.FefferyResizable(
fuc.FefferyDiv(
fac.AntdMenu(
menuItems=[
{
'component': 'Item',
'props': {
'title': f'菜单项{i}',
'key': f'菜单项{i}',
}
}
for i in range(1, 26)
],
defaultSelectedKey='菜单项1',
mode='inline',
style={
'height': '100%',
'borderRight': 'none'
}
),
style={
'height': '100%',
'overflow': 'hidden auto',
'borderRight': '1px solid #f0f0f0'
},
scrollbar='simple'
),
direction=['right'],
defaultSize={
'width': 250,
'height': '100vh'
},
maxWidth=400,
minWidth=100,
handleClassNames={
'right': 'custom-right-resize-handle'
}
),
offsetTop=0
),
flex='none'
), fac.AntdCol(
flex='auto'
)
],
wrap=False
)
]
) if __name__ == '__main__':
app.run(debug=True)

  更多有关此新组件的使用说明请移步:https://fuc.feffery.tech/FefferyResizable


  以上就是本文的全部内容,对Dash应用开发感兴趣的朋友,欢迎添加微信号CNFeffery,备注“dash学习”加入我的技术交流群,一起成长一起进步。

Python网页开发神器fac 0.2.9、fuc 0.1.29新版本更新内容介绍的更多相关文章

  1. DELPHI网页开发神器UNIGUI的安装与演示

    UNIGUI安装和演示 uniGUI v1.0.0.1397(带注册机).rar在delphi10.2安装 提示:安装包可以自行在网上搜索下载,或者联系我获取都可以 这里讲下怎样安装的方法: 1)执行 ...

  2. Java Web开发和Python Web开发之间的区别

    今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...

  3. Python爬虫开发与项目实战pdf电子书|网盘链接带提取码直接提取|

    Python爬虫开发与项目实战从基本的爬虫原理开始讲解,通过介绍Pthyon编程语言与HTML基础知识引领读者入门,之后根据当前风起云涌的云计算.大数据热潮,重点讲述了云计算的相关内容及其在爬虫中的应 ...

  4. python网页爬虫小项目开发

    这是我最近接的一个小项目,花了是整整四天多时间. 任务是将http://www.examcoo.com/index/detail/mid/7网站下所有的试卷里的试题全部提取出来,首先按照题型进行分类, ...

  5. Web前端开发神器--WebStorm(JavaScript 开发工具) 8.0.3 中文汉化破解版

    WebStorm(JavaScript 开发工具) 8.0.3 中文汉化破解版 http://www.jb51.net/softs/171905.html WebStorm 是jetbrains公司旗 ...

  6. python网页爬虫开发之五-反爬

    1.头信息检查是否频繁相同 随机产生一个headers, #user_agent 集合 user_agent_list = [  'Mozilla/5.0 (Windows NT 6.1; WOW64 ...

  7. 【Python开发】python集成开发环境IDE搭建

    http://blog.csdn.net/pipisorry/article/details/39854707 使用的系统及软件 Ubuntu / windows Python 2.7 / pytho ...

  8. 【转】windows和linux中搭建python集成开发环境IDE

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  9. Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)

    原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开 ...

  10. windows和linux在建筑python集成开发环境IDE

    http://blog.csdn.net/pipisorry/article/details/39854707 使用的系统及软件 Ubuntu / windows Python 2.7 / pytho ...

随机推荐

  1. 详解uniapp和vue在路由方面的不同和联系

    Uniapp 和 Vue 在路由方面有相似之处,因为 Uniapp 是基于 Vue 的.Uniapp 的路由系统是通过 Vue Router 实现的,因此两者有许多相同的概念和 API. 相同点: 都 ...

  2. MySQL 8.0:无锁可扩展的 WAL 设计

    这篇文章整理自MySQL官方文档,介绍了8.0在预写式日志上实现上的修改,观点总结如下: 在8.0以前,为了保证flush list的顺序,redo log buffer写入过程需要加锁,无法实现并行 ...

  3. Zookeeper的深入分析

    运⾏时状态分析 在ZAB协议的设计中,每个进程都有可能处于如下三种状态之⼀ · LOOKING:Leader选举阶段. · FOLLOWING:Follower服务器和Leader服务器保持同步状态. ...

  4. Python3.8环境安装PyHook3

    Python3.8环境安装PyHook3 1. 安装python对应版本的pyhook3网  址:https://pypi.org/project/PyHook3/#files如果没有对应版本,请下载 ...

  5. [数据库/MySQL]数据类型:enum 枚举类型

    1 需求描述 场景 性别(gender) :男 / 女 / 保密 2 基本语法 enum(枚举值 1,枚举值 2...); 枚举值列表在 255 个以内,使用 1 个字节来存储 枚举值列表超过 255 ...

  6. [网络/SSH]OpenSSH: sshd / sftp-server / ssh-agent | ssh / scp / sftp | OpenSSL

    1 OpenSSH OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现. OpenSSH是使用SSH透过计算机网络加密通讯的实现. SSH协议族可以用来进行远程控制, 或在计 ...

  7. Ubuntu系统Flameshot使用问题

    Ubuntu系统Flameshot使用问题 系统:Ubuntu22.04 问题:使用Flameshot,每次都会先截取整个屏幕,提示需要先分享,再使用Flameshot的功能 安装Flameshot ...

  8. odoo 开发入门教程系列-QWeb简史

    QWeb简史 到目前为止,我们的房地产模块的界面设计相当有限.构建列表视图很简单,因为只需要字段列表.表单视图也是如此:尽管使用了一些标记,如<group>或<page>,但在 ...

  9. 关于 static

    由static定义的被称为类属性 例如(  static String company = "博客园"  ) 类方法 例如(  public static void printCo ...

  10. 2步打通ModelArts和Astro,实现AI应用快速落地

    摘要:本文以 ModelArts 的"找云宝"自动学习 AI 应用为例,结合低代码平台 Astro 轻应用快速实现一个"找云宝"小应用. 本文分享自华为云社区& ...