[]
        
(Showing Draft Content)

公式属性

如果属性值需要依赖公式的计算结果动态变化,可以通过标注@FormulaProperty 注解的方式设置。

注意,标注@FormulaProperty 的字段类型必须是 Object。

在运行的时候,公式的计算结果会自动赋值给对应字段。

@Data
@Icon("resources/Icon.png")
public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {

    @FormulaProperty
    private Object formulaProperty;

    @Override
    public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
        return new ExecuteResult();
    }
    
    @Override
    public String toString() {
        return "我的服务端命令插件";
    }

}

在设计器中效果如下:

image

如果需要更细致的控制,可以通过@FormulaProperty的其他属性来控制

1.提供备选列表。

  1. 设置@FormulaProperty 的 recommendedValues

    使用“|”分隔多个候选项

  2. 代码

    @Data
    @Icon("resources/Icon.png")
    public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {
    
        @FormulaProperty(recommendedValues = "学生|教师|工人")
        private Object formulaProperty;
    
        @Override
        public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
            return new ExecuteResult();
        }
    
        @Override
        public String toString() {
            return "我的服务端命令插件";
        }
    
    }
  3. 效果

    image

     

2.支持输入多行文本。

  1. 设置@FormulaProperty 的 acceptsReturn

  2. 代码

    @Data
    @Icon("resources/Icon.png")
    public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {
    
        @FormulaProperty(acceptsReturn = true)
        private Object formulaProperty;
    
        @Override
        public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
            return new ExecuteResult();
        }
    
        @Override
        public String toString() {
            return "我的服务端命令插件";
        }
    
    }
  3. 效果

    image


3.支持多语言。

  • 所有公式属性,默认会开启多语言支持,可以通过设置 @FormulaProperty 的 canSelectResource = false 关闭多语言支持。