В дополнение к проектированию интерактивных элементов управления в столбце LogStatus
раздел функций в руководстве по синтаксису- Да.
Кнопки управления в строке состояния можно классифицировать как:
Общие кнопки управления Примером структуры данных является:
{"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
Кнопка управления с вводом данных
Используйтеinput
свойство для настройки опций управления вводом, с примерной структурой данных:
{"type": "button", "name": "button2", "cmd": "button2", "description": "This is the second button.", "input": {"name": "number of open positions", "type": "number", "defValue": 1}}
{
"type": "button",
"cmd": "test1",
"name": "test1",
"input": {
"type": "selected",
"name": "selected",
"label": "drop-down box",
"description": "description",
"default": 100,
"settings": {
"multiple": true,
"customizable": true,
"options":[{"name": "A", "value": 100}, {"name": "B", "value": 200}]
}
},
}
Кнопка управления с набором входных данных
Используйтеgroup
свойство для настройки параметров для группы элементов управления вводом с примерной структурой данных:
{
"type": "button",
"cmd": "open",
"name": "open positions",
"group": [
{"name": "orderType", "description": "下单方式|order type", "type": "selected", "defValue": "market order|pending order"},
{"name": "tradePrice@orderType==1", "description": "交易价格|trade price", "type": "number", "defValue": 100},
{"name": "orderAmount", "description": "委托数量|order amount", "type": "string", "defValue": 100},
{"name": "boolean", "description": "yes/no|boolean", "type": "boolean", "defValue": True}
]
}
{
"type": "button",
"cmd": "test2",
"name": "test2",
"group": [{
"type": "selected",
"name": "selected",
"label": "drop-down box",
"description": "description",
"default": 200,
"group": "group1",
"settings": {
"multiple": true,
"options":[{"name": "A", "value": 100}, {"name": "B", "value": 200}]
}
}, {
"type": "string",
"name": "string",
"label": "input box",
"description": "description",
"default": "ABC",
"group": "group1"
}],
}
Кодировать эти кнопки управления JSON данных в строку JSON, а затем обернуть его с`
Возьмем язык JavaScript в качестве примера:
function main() {
var btn = {"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
LogStatus("`" + JSON.stringify(btn) + "`")
}
Эти кнопки управления также могут быть написаны на формы строки состояния, пожалуйста, обратитесь кРуководство по синтаксисудля подробных примеров.
Структураinput
поле соответствует структуре одного контроля вgroup
Ниже приведено подробное описание:
{
"type": "selected", // Control type (required field), supports the following settings: number, string, selected, boolean
"name": "test", // Name (required when used in group)
"label": "topic", // Title (required field)
"description": "desc", // Component tips
"default": 1, // Default value; if the settings field is not set in the current JSON structure, defValue is compatible and can be used instead of default
"filter": "a>1", // Selector. If this field is not set, no filtering (controls are displayed). If this field is set, no filtering (controls are displayed) occurs when the expression is true. Filtering occurs when the expression is false (controls are not displayed)
// For the selector, take the expression a>1 in the current example as an example, a refers to the value of the control with name a under the group field in the structure of type=button. This value is used to determine whether to filter.
"group": "group1", // Grouping
"settings": { ... }, // Component configuration
}
Конфигурация компонентаsettings
каждое поле подробно описано:
settings.required
: Требуется ли этот вариант.settings.disabled
Отключить или нет.settings.min
: Действует, когда:type=number
, с указанием минимального значения или минимальной длины строки.settings.max
: Действует, когда:type=number
, указывающие максимальное значение или максимальную длину струны.settings.step
: type=number
, действителен, когда:render=slider
, указывает длину шага.settings.multiple
: type=selected
является действительным, что указывает на поддержку многократного выбора.settings.customizable
: type=selected
Если вы выбрали опцию, которую вы только что редактировали, вместо значения, представленного опцией при запуске взаимодействия, используется имя опции.settings.options
: Действует, когда:type=selected
, указывающий формат данных опции выборщика:["option 1", "option 2"]
, [{'name':'xxx','value':0}, {'name':'xxx','value':1}]
.settings.render
: Тип компонента рендеринга.
Когда?type=number
, settings.render
не установлено (по умолчанию ввод номер), необязательно:slider
(слайдерная панель),date
(выборщик времени возвращает временную отметку).
Когда?type=string
, settings.render
не установлен (по умолчанию однострочное поле ввода).textarea
(ввод с несколькими линиями),date
(выбиратель времени возвращает yyyy-MM-dd hh:mm:ss),color
(выбиратель цвета возвращает #FF00FF).
Когда?type=selected
, settings.render
не установлен (по умолчанию выпадающее окно), необязательно:segment
(выбиратель сегмента).type=boolean
в настоящее время имеет только отметку по умолчанию.Поддерживает двуязычные настройки, например:'选项 | options'
будет адаптирована в соответствии с текущей языковой средой;group
поле в качестве примера, полный пример:
{
type:'selected',
name:'test',
label:'选项|options',
description:'描述|description',
default:0, // Here, the default value is set to 0, which means the value in the option {name:'xxx|yyy',value:0}
filter:'a>1&&a<10',
group:'分组|group',
settings:{
multiple:true,
customizable:true,
options:[{name:'xxx|yyy',value:0}]
}
}
Конфигурация компонента
Торговля опционами