表单示例
基本介绍
当前在DeekeScript框架开发中,form表单是通过deekeScript.json文件来配置的,采用Android内置的Preference Framework。表单主要有以下几种类型,分别是:text、textArea、select、checkboxGroup、checkbox、radio、switch、number、numberRange、digitRange、digit、notice
各个参数类型,请严格按照示例中填写,否则可以导致APP闪退。
deekeScript.json中表单的值采用下面的方式获取:
//不同类型需要不同的方式获取,具体请参与“本地存储-Storage”章节
Storage.get('task_name');
Storage.getInteger("number_1");//输出:33
Storage.getBoolean("switch_1");//输出:true
Storage.getArray("select_1");//输出:[1,2,3]📝 text
notice: 输入框说明信息,非必须 hidden: 非必须,表示是否隐藏,默认false
{
"type": "text",
"label": "输入任务名称",
"name": "task_name",
"value": "23432",
"notice": "* 任务名称不能为空"
}显示效果

📝 textarea
notice: 输入框说明信息,非必须 hidden: 非必须,表示是否隐藏,默认false lines: 非必须,表示多少行(默认1行)
{
"type": "textArea",
"label": "输入任务名称",
"name": "text_2",
"lines": 5,
"value": "23432",
"notice": "* 任务名称不能为空"
}显示效果

📝 password
notice: 输入框说明信息,非必须 hidden: 非必须,表示是否隐藏,默认false
{
"type": "password",
"label": "密码",
"name": "task_password",
"value": "",
"notice": "* 密码不能为空"
}显示效果

📝 switch
hidden: 非必须,表示是否隐藏,默认false
{
"type": "switch",
"label": "自动运行",
"name": "switch_1",
"value": true
}显示效果

📝 select
hidden: 非必须,表示是否隐藏,默认false
{
"type": "select",
"label": "菜单",
"name": "select_1",
"options": [{
"label": "小猫",
"value": 1,
"selected": true
},
{
"label": "小狗",
"value": 2
}]
}显示效果

📝 radio
hidden: 非必须,表示是否隐藏,默认false
{
"type": "radio",
"label": "性别",
"name": "radio_1",
"value": 1,
"options": [{
"label": "男",
"value": 1,
},
{
"label": "女",
"value": 2
}]
}显示效果

📝 checkbox
hidden: 非必须,表示是否隐藏,默认false
{
"type": "checkbox",
"label": "性别",
"name": "checkbox_1",
"options": [{
"label": "男",
"value": 1,
"selected": true
},
{
"label": "女",
"value": 2
}]
}显示效果

📝 checkboxGroup
hidden: 非必须,表示是否隐藏,默认false
{
"type": "checkboxGroup",
"label": "运行时间",
"name": "checkboxGroup",
"children": [
"00时",
"01时",
"02时",
"03时",
"04时",
"05时",
"06时",
"07时",
"08时",
"09时",
"10时",
"11时",
"12时",
],
"values": [
0,
1,
3,
5
]
}显示效果

📝 digitRange或者numberRange
hidden: 非必须,表示是否隐藏,默认false min: 最小值,非必须,默认0 max: 最大值,非必须,默认100 step: 步长,非必须,默认1
{
"type": "numberRange",
"label": "年龄",
"name": "numberRange_1",
"min": 0,
"max": 100,
"step": 1,
"value": 33
}显示效果

📝 digit或者number
hidden: 非必须,表示是否隐藏,默认false
{
"type": "number",
"label": "执行时间",
"name": "number_1",
"value": 33
}显示效果

📝 file
hidden: 非必须,表示是否隐藏,默认false
{
"type": "file",
"label": "文件地址",
"name": "task_file"
}显示效果

📝 datePicker
hidden: 非必须,表示是否隐藏,默认false
{
"type": "datePicker",
"label": "日期",
"name": "task_date"
}显示效果

📝 timePicker
hidden: 非必须,表示是否隐藏,默认false
{
"type": "timePicker",
"label": "日期",
"name": "task_time"
}显示效果

📝 notice
hidden: 非必须,表示是否隐藏,默认false
{
"type": "notice",
"title": "* 注意,本功能必须开启图色查找权限"
}显示效果

📝 divider
hidden: 非必须,表示是否隐藏,默认false
{
"type": "divider",
"label": "分割线"
}显示效果

表单动态值
有时候你希望通过接口来初始化表单的值,而不是直接固定值(目前仅支持radio表单)
radio默认值
{
"type": "radio",
"label": "请选择角色",
"name": "role",
"options": [],
"dataFrom": "role"
}需要config接口的data字段中包含role字段,并且role的值必须包含options需要的字段(label和value)
属性类型说明请参考deekeScript.json文件
