枚举类型大量使用于实际开发,因为他规范了取值范围,又不需要额外的开一个数据库表
在PasteForm中Enum主要涉及搜索,表格,表单,详细这几个地方
如上图所示,动作类型就是枚举类型(案例testTable)
///<summary>
/// 查询
///</summary>
public class InputQueryTestTable : InputSearchBase
{
/// <summary>
/// 动作类型
/// </summary>
public ActionEnum ActionType { get; set; }
}
你可以把ActionEnum的设定存放于XXX.Domain子项目,也可以存放于XXX.Application.Contracts的子项目中
如下图定义
/// <summary>
/// 动作枚举
/// </summary>
public enum ActionEnum
{
/// <summary>
/// 正常 可以正常使用的
/// </summary>
start = 1,
/// <summary>
/// 停止
/// </summary>
stop = 4,
/// <summary>
/// 取消
/// </summary>
cannel = 5
}
其实和Class的注释一样的,分空格拆分的前端部分和后端部分
系统默认在表单的时候返回全部的,如上图也就是
正常 可以正常使用的
而在List页面的时候,显示
正常
如果使用F12在前端查看,你会发现代码是使用select实现的,也就是和select的属性是一样的,通过F12的网络,可以发现数据返回的时候也是转化成select返回的
表示单选,比如权限类型,一般是指固定类型的,一般不修改的那种情况,也可以表示状态等,value的值要基于这个对象的类型来确定,比如string和int
字段 | 类型 | 示例 | 说明 |
---|---|---|---|
args1 | 字符 | [{“name”:”大”,”value”:”1”},{“name”:”小”,”value”:”2”}] | 表示单选的可选值,name是显示 value是值 |
args2 | 字符 | 预留的字段 | |
args3 | 字符 | 预留的字段 | |
args4 | 字符 | 预留的字段 |
如果在表单页面,我们这么设定
///<summary>
///测试表 用于测试CURD的表
///</summary>
public class TestTableAddDto
{
/// <summary>
/// 动作类型
/// </summary>
public ActionEnum ActionType { get; set; }
}
在UI上,则是这样显示的
为什么在搜索的地方显示
正常
而在表单页面上显示
正常 可以正常使用的
其实是在testTableAppService的文件中有如下区别
其实就是调用 ReadModelProperty的参数不一样导致的!
待完成问题?
1.一个枚举类型,在进行搜索的时候,我们一般会多一个选项出来,那就是全部,意思是所有枚举类型都包含进去,比如我们添加一个all=-1,但是这个all=-1的值我们又不希望在表单的时候用户选择这个-1的枚举值!!!