Blazor前后端框架Known-V1.2.10

V1.2.10

Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行。

  • Gitee: https://gitee.com/known/Known
  • Github:https://github.com/known/Known

概述

  • 基于C#和Blazor实现的快速开发框架,前后端分离,开箱即用。
  • 跨平台,单页应用,混合桌面应用,Web和桌面共享一处代码。
  • 包含模块、字典、组织、角色、用户、日志、消息、工作流、定时任务等功能。
  • 代码简洁、易扩展,让开发更简单、更快捷!

如果对您有帮助,点击⭐Star⭐关注 ,感谢支持开源!

更新日期

  • 2023-07-25

更新内容

  • 🐛修复菜单和常用功能打开重复页签问题
  • 🐛修复平台企业无法新增用户问题
  • 😄主界面页签增加关闭当前操作
  • 🔨优化Form、Dialog组件布局
  • 😄新增Toolbar组件
  • 🐛修复查询时条件被清空问题
  • 🔨优化页面布局,自适应移动端
  • 😄Date组件增加Week和Time类型
  • 😄Input组件增加类型Color, Email, Range, Search, Tel, Url
  • 🐛修复主题设置切换页签弹窗失效问题
  • 🔨优化列表页面点击按钮跳转页面和新增页签

详细内容

1. 页签增加关闭当前操作

在这里插入图片描述

2. Toolbar组件

  • 呈现一组按钮
  • 可外部操作按钮显示和禁用
private Toolbar toolbar; //组件实例,通过Build赋值private void BuildButtons(RenderTreeBuilder builder)
{//定义工具按钮,也可从配置文件加载var tools = new List<ButtonInfo>{new ButtonInfo("Load", "加载", "fa fa-refresh", StyleType.Default),new ButtonInfo("View", "只读", "fa fa-file-text-o", StyleType.Warning),new ButtonInfo("Edit", "编辑", "fa fa-file-o", StyleType.Success),new ButtonInfo("Check", "验证", "fa fa-check", StyleType.Info),new ButtonInfo("Save", "保存", "fa fa-save", StyleType.Primary),new ButtonInfo("Clear", "清空", "fa fa-trash-o", StyleType.Danger),new ButtonInfo("Clear", "禁用", "fa fa-trash-o", StyleType.Primary) { Enabled = false }};//构建工具条组件builder.Component<Toolbar>().Set(c => c.Style, "demo")        //工具条样式.Set(c => c.Tools, tools)         //按钮列表.Set(c => c.OnAction, OnAction)   //工具条操作.Build(value => toolbar = value); //赋值组件实例
}//工具条按钮方法,方法名称与按钮Code一致,通过OnAction反射调用
public virtual void Load() { }
public void View() => SetReadOnly(true);
public void Edit() => SetReadOnly(false);
public void Check() => Validate();
public virtual void Save() => Submit(data => formData = Utils.ToJson(data));//工具条操作方法
private void OnAction(ButtonInfo info)
{var method = GetType().GetMethod(info.Id);if (method == null)UI.Toast($"{info.Name}方法不存在!");elsemethod.Invoke(this, null);StateChanged();
}//操作按钮可见
//方法原型,itemIds为按钮Code
public void SetItemVisible(bool visible, params string[] itemIds)
//操作示例
toolbar.SetItemVisible(false, "Edit", "Check");//操作按钮禁用
//方法原型,itemIds为按钮Code
public void SetItemEnabled(bool enabled, params string[] itemIds)
//操作示例
toolbar.SetItemEnabled(false, "Edit", "Check");

3. 自适应移动端

  • 自适应页面有登录、主页、表单、弹窗、列表、左右布局

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. Date组件

  • 支持日期、月份、日期和时间、周别、时间5种类型
//H5日期组件
table.Field<Date>("日期", "Date").Build();
//H5月份组件
table.Field<Date>("月份", "Month").Set(f => f.DateType, DateType.Month).Build();
//H5日期和时间组件
table.Field<Date>("日期时间", "DateTime").Set(f => f.DateType, DateType.DateTime).Build();
//H5周别组件
table.Field<Date>("星期", "Week").Set(f => f.DateType, DateType.Week).Build();
//H5时间组件
table.Field<Date>("时间", "Time").Set(f => f.DateType, DateType.Time).Build();

5. Input组件

  • 支持Color, Email, Range, Search, Tel, Url 6种类型
//拾色器组件
table.Field<Input>("颜色", "Color").Set(f => f.Type, InputType.Color).Build();
//Email组件
table.Field<Input>("邮箱", "Email").Set(f => f.Type, InputType.Email).Build();
//slider组件
table.Field<Input>("Range", "Range").Set(f => f.Type, InputType.Range).Build();
//搜索文本组件
table.Field<Input>("搜索", "Search").Set(f => f.Type, InputType.Search).Build();
//电话号码组件
table.Field<Input>("电话号码", "Tel").Set(f => f.Type, InputType.Tel).Build();
//URL组件
table.Field<Input>("URL", "Url").Set(f => f.Type, InputType.Url).Build();

6. 列表页面按钮导航功能

  • 点击按钮支持跳转页面和添加页签
  • 使用ShowFormView方法
//新增
public void New() => ShowForm(null, false);
//编辑
public void Edit(DmTest row) => ShowForm(row, false);
//查看
private void OnView(DmTest row)
{builder.Link(row.Title, Callback(e => View(row, false)));
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/25377.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

任务15、MidJourney视频(Video)参数动态上线,制作惊艳动画短片

15.1 任务概述 本次任务将帮助你掌握Midjourney中的Video参数,并利用这些参数创作出令人惊艳的绘画作品。通过学习Video参数的基本概念和功能,以及案例的实际应用,你将学会如何正确设置和调整这些参数,从而达到你所期望的绘画效果。最终,你将运用所学知识,生成香奈儿模特…

【C++】C++11 新特性总结 | C++ 常见设计模式总结(秋招篇)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言介绍几种C11新特性介绍一下自动类型推导auto和decltype关键字的用法举例讲一下范围基于的for循环介绍一下列表初始化讲一下右值引用&#xff0c;和左值引用的区…

ubuntu服务器配置ftp服务

需求&#xff1a;配置ftp服务用于在windows电脑上直接浏览、下载、上传ubuntu服务器上的文件&#xff0c;用于文件共享&#xff0c;方便实用 效果&#xff1a;用户打开windows资源管理器后输入ftp://xxx.xxx.xxx.xxx &#xff08;公网IP地址&#xff09;后&#xff0c;即可浏览…

map和set的使用总结

目录 一、关联式容器二、键值对三、树形结构的关联式容器3.1 set3.1.1 set介绍3.1.2 set的模板参数列表3.1.3 set的使用实例 3.2 map3.2.1 map的介绍3.2.2 map的参数列表说明3.2.3 map的operator[]&#xff08;very very very好用&#xff0c;map的精华&#xff09;3.2.4 map的…

如何安全变更亚马逊收款账户?

有太多的卖家想知道如何安全变更亚马逊收款账户&#xff0c;因为更改了第三方收款账户可能会导致二次视频认证或者增强视频。真的是这样吗&#xff1f; 其实不推荐亚马逊店铺正常运营之后去变更信用卡&#xff0c;收款账户等重要资料的&#xff0c;因为玩黑科技的卖家也真的多…

考研C语言进阶题库——更新16-20题

目录 16计算t11/2...1/n-11/n 17计算1997&#xff01; 18计算t1-122-133-...-1nn 19相传国际象棋是古印度舍罕王的宰相达依尔发明的.舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐. 这位聪明的宰相指着8*8共64格的象棋说:陛下,请您赏给我一些麦子吧. 就在棋盘的第1格放1粒…

深度学习——划分自定义数据集

深度学习——划分自定义数据集 以人脸表情数据集raf_db为例&#xff0c;初始目录如下&#xff1a; 需要经过处理后返回 train_images, train_label, val_images, val_label 定义 read_split_data(root: str, val_rate: float 0.2) 方法来解决&#xff0c;代码如下&#xff1a…

【HashMap】 73. 矩阵置零

73. 矩阵置零 解题思路 首先遍历矩阵找到所有的0元素 将其的行和列索引记录下俩遍历矩阵 将所有的需要更新的元素进行更新 也就是查找hashmap中的每一个元素进行更新查找行或者列是否在hashmap中 class Solution {public void setZeroes(int[][] matrix) {// 首先遍历矩阵找…

【Spring】(三)Spring 使用注解存储和读取 Bean对象

文章目录 前言一、使用注解储存 Bean 对象1.1 配置扫描路径1.2 类注解储存 Bean 对象1.2.1 Controller&#xff08;控制器存储&#xff09;1.2.2 Service&#xff08;服务储存&#xff09;1.2.3 Repository&#xff08;仓库存储&#xff09;1.2.4 Component&#xff08;组件储存…

驱动开发day8(8.1)

编写LED灯的驱动&#xff0c;使用GPIO子系统&#xff0c;里面添加按键的中断处理 1.应用程序发送指令控制LED亮灭 2.按键1 按下&#xff0c;led1电位反转 按键2按下&#xff0c;led2电位反转 按键3 按下&#xff0c;led3电位反转 驱动程序 #include <linux/init.h> #…

【MySQL】事务的多版本并发控制(MVCC)

目录 一、数据库并发的三种场景二、MVCC2.1 三个记录隐藏字段2.2 undo log&#xff08;撤销日志&#xff09;2.3 模拟MVCC2.3.1 模拟更新&#xff08;update&#xff09;2.3.1 模拟删除&#xff08;delete&#xff09;2.3.1 模拟插入&#xff08;insert&#xff09;2.3.1 模拟查…

Windows使用docker desktop 安装kafka、zookeeper集群

docker-compose安装zookeeper集群 参考文章&#xff1a;http://t.csdn.cn/TtTYI https://blog.csdn.net/u010416101/article/details/122803105?spm1001.2014.3001.5501 准备工作&#xff1a; ​ 在开始新建集群之前&#xff0c;新建好文件夹&#xff0c;用来挂载kafka、z…

MySQL全文搜索索引

概述 使用全文索引的场景&#xff1a; like、json字段查询太慢ES、Solr、Lucene这种比较高级的搜索引擎学习成本和使用成本较高&#xff0c;而自己的业务量需求并没有达到这个级别 全文索引通过建立倒排索引来快速匹配文档&#xff0c;MySQL 5.6 版本引入此功能&#xff0c…

深入NLTK:Python自然语言处理库高级教程

在前面的初级和中级教程中&#xff0c;我们了解了NLTK库中的基本和进阶功能&#xff0c;如词干提取、词形还原、n-gram模型和词云的绘制等。在本篇高级教程中&#xff0c;我们将深入探索NLTK的更多高级功能&#xff0c;包括句法解析、命名实体识别、情感分析以及文本分类。 一…

MySQL索引1——索引基本概念与索引结构(B树、R树、Hash等)

目录 索引(INDEX)基本概念 索引结构分类 BTree树索引结构 Hash索引结构 Full-Text索引 R-Tree索引 索引(INDEX)基本概念 什么是索引 索引是帮助MySQL高效获取数据的有序数据结构 为数据库表中的某些列创建索引&#xff0c;就是对数据库表中某些列的值通过不同的数据结…

关于golang锁的一点东西(2)

上篇中&#xff0c;介绍了关于golang互斥锁的内容&#xff0c;了解了golang互斥锁基于runtime信号量的同步机制&#xff0c;以及runtime信号量的实现。本篇书接上回&#xff0c;继续聊一点读写锁的东西。同样的&#xff0c;不会纠结于某些细节&#xff0c;而是关注于一些我感兴…

24届华东理工大学近5年自动化考研院校分析

今天给大家带来的是华东理工大学控制考研分析 满满干货&#xff5e;还不快快点赞收藏 一、华东理工大学 学校简介 华东理工大学原名华东化工学院&#xff0c;1956年被定为全国首批招收研究生的学校之一&#xff0c;1960年起被中共中央确定为教育部直属的全国重点大学&#…

Vue读取本地静态.md并侧边栏导航跳转、展示.md文件

vue markdown 侧边栏导航跳转 类似锚点跳转 - 灰信网&#xff08;软件开发博客聚合&#xff09; Vue使用mavon-editor插件解析markdown编辑预览_onpine的博客-CSDN博客 vue组件直接读取.md文档展示_vue项目中读取readme文件_小蒜瓣的博客-CSDN博客vue中使用mavonEditor(markd…

uni-app uView自定义底部导航栏

因项目需要自定义底部导航栏&#xff0c;我把它写在了组件里&#xff0c;基于uView2框架写的&#xff08;vue2&#xff09;&#xff1b; 一、代码 在components下创建tabbar.vue文件&#xff0c;代码如下&#xff1a; <template><view><u-tabbar :value"c…

2023华数杯数学建模A题思路分析 - 隔热材料的结构优化控制研究

# 1 赛题 A 题 隔热材料的结构优化控制研究 新型隔热材料 A 具有优良的隔热特性&#xff0c;在航天、军工、石化、建筑、交通等 高科技领域中有着广泛的应用。 目前&#xff0c;由单根隔热材料 A 纤维编织成的织物&#xff0c;其热导率可以直接测出&#xff1b;但是 单根隔热…