From 54f6a8c37d3d87287eb03c6e01429848c664013f Mon Sep 17 00:00:00 2001 From: zhuzihcu Date: Wed, 8 Mar 2023 13:41:43 +0800 Subject: [PATCH] update --- README.md | 30 ++++++++- example/T_TreeView.qml | 4 ++ src/controls/FluTreeView.qml | 115 ++++++++++++++++++----------------- 3 files changed, 92 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 63ea51f..dc934f5 100644 --- a/README.md +++ b/README.md @@ -17,4 +17,32 @@ QML插件 [ubuntu-badge]: https://github.com/zhuzichu520/FluentUI/workflows/Ubuntu/badge.svg "Ubuntu" [macos-link]: https://github.com/zhuzichu520/FluentUI/actions?query=workflow%3AMacOS "MacOSAction" -[macos-badge]: https://github.com/zhuzichu520/FluentUI/workflows/MacOS/badge.svg "MacOS" \ No newline at end of file +[macos-badge]: https://github.com/zhuzichu520/FluentUI/workflows/MacOS/badge.svg "MacOS" + +## 支持的组件 + +|目录|说明|备注| +|----|----|----| +|FluApp|初始化入口|支持路由跳转| +|FluWindow|无边框窗口|解决windows拖动闪烁问题| +|FluAppBar|窗口顶部标题栏|支持拖动窗口,最小化、最大化、关闭窗口| +|FluText|Text文本|| +|FluButton|按钮|| +|FluFilledButton|实心按钮|| +|FluIconButton|图标按钮|| +|FluTextButton|文本按钮|| +|FluIcon|图标|| +|FluRadioButton|单选按钮|| +|FluTextBox|单行输入框|| +|FluMultiLineTextBox|多行输入框|| +|FluToggleSwitch|开关按钮|| +|FluSlider|拖动条|| +|FluInfoBar|提示Toast|| +|FluContentDialog|对话框|| +|FluProgressBar|条形进度条|| +|FluProgressRing|圆形进度条|| +|FluRectangle|矩形|支持部分圆角、clip| +|FluMenu|菜单框|| +|FluTooltip|tooltip提示框|| +|FluTreeView|树控件|| +|FluTheme|主题设置|支持主题颜色切换,夜间模式| \ No newline at end of file diff --git a/example/T_TreeView.qml b/example/T_TreeView.qml index 932df24..8bfdba4 100644 --- a/example/T_TreeView.qml +++ b/example/T_TreeView.qml @@ -123,6 +123,10 @@ Item { showError("当前非选择模式,没有选中的数据") } if(tree_view.selectionMode === FluTreeView.Single){ + if(!tree_view.signleData()){ + showError("没有选中数据") + return + } showSuccess(tree_view.signleData().text) } if(tree_view.selectionMode === FluTreeView.Multiple){ diff --git a/src/controls/FluTreeView.qml b/src/controls/FluTreeView.qml index 0346853..7541abb 100644 --- a/src/controls/FluTreeView.qml +++ b/src/controls/FluTreeView.qml @@ -20,8 +20,6 @@ Rectangle { property var currentElement property var currentParentElement - property var multipElement: [] - property var rootModel: tree_model.get(0).items signal itemClicked(var item) @@ -31,9 +29,11 @@ Rectangle { ListElement{ text: "根节点" expanded:true + items:[] key:"123456" multipSelected:false - items:[] + multipIndex:0 + multipParentKey:"" } } @@ -166,63 +166,58 @@ Rectangle { text:"" checked: itemModel.multipSelected visible: selectionMode === FluTreeView.Multiple + Layout.leftMargin: 5 + + function refreshCheckBox(){ + const stack = [tree_model.get(0)]; + const result = []; + while (stack.length > 0) { + const curr = stack.pop(); + result.unshift(curr); + if (curr.items) { + for(var i=0 ; i 0) { const curr = stack.pop(); - result.unshift(curr); if (curr.items) { for(var i=0 ; i 0) { - // const node = stack.pop(); - // for (var i = 0 ; i 0) { + const curr = stack.pop(); + if(curr.multipSelected){ + result.push(curr) + } + + for(var i=0 ; i