[]
如果属性的类型是字符串,默认属性值是可以接受任意字符串的,如果希望提供字符串值候选列表,可以通过标注@RadioGroupProperty 的并设置valueList 的方式实现单选框候选列表。多值个值用“|”分隔。
@RadioGroupProperty和@ComboProperty的使用方式非常类似,主要是在设计器中的UI表现不同。
注意,标注@RadioGroupProperty的属性类型必须是 String。
@Data
@Icon("resources/Icon.png")
public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {
@RadioGroupProperty(valueList = "Student|Teacher|Worker")
private String value;
@Override
public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
return new ExecuteResult();
}
@Override
public String toString() {
return "我的服务端命令插件";
}
}
在设计器中效果如下:
如果需要更细致的控制,可以通过@RadioGroupProperty的其他属性来控制
值与显示值不同
设置@RadioGroupProperty 的 displayList
代码
@Data
@Icon("resources/Icon.png")
public class MyPluginServerCommand extends Command implements ICommandExecutableInServerSide {
@RadioGroupProperty(valueList = "Student|Teacher|Worker",displayList = "学生|教师|工人")
private String value;
@Override
public ExecuteResult execute(IServerCommandExecuteContext dataContext) {
return new ExecuteResult();
}
@Override
public String toString() {
return "我的服务端命令插件";
}
}
效果
其他说明
此方法可以使用户在选择时选择中文选项,而单元格实际保存值为英文,方便程序处理。
ValueList和DisplayList通过数量和顺序匹配。
如果DisplayList数量超出ValueList数量,多出部分会被忽略。
如果DisplayList数量少于ValueList数量,不足部分会使用ValueList对应的值。