- 当框架内置的表单字段组件
Input、Select等不满足业务需求时,框架可以支持在项目中自定义
- 在【模块管理-表单配置】中,字段类型选择
Custom时,可以选择项目中自定义的字段组件
- 如何在这里能选择自己扩展的自定义字段组件,只要组件继承
ICustomField接口即可,示例如下
// CustomField是框架默认抽象自定义组件基类,可以换成项目中任何组件
// ICustomField必须要继承,否则在线表单中不会显示
class MyField : CustomField, ICustomField
{
protected override void BuildRender(RenderTreeBuilder builder)
{
// 在这里构建你的自定义组件内容,例如一个按钮
builder.Button("自定义", this.Callback<MouseEventArgs>(OnClick));
}
private void OnClick(MouseEventArgs args) { }
}
public class MyEntity : EntityBase
{
[Form(Type = nameof(FieldType.Custom), CustomField = "MyField")]
public string Field { get; set; }
}