Zusätzlich zum Entwurf interaktiver Steuerelemente in der Spalte LogStatus
Funktionsbereich der
Gemeinsame Tastensteuerungen Ein Beispiel für eine Datenstruktur ist:
{"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
Tastensteuerung mit Dateneingabe
Verwendeninput
Eigenschaft zur Einstellung der Eingabe-Steuerungsoptionen mit Beispieldatenstruktur:
{"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}]
}
},
}
Tastensteuerung mit einem Satz Eingabedaten
Verwendengroup
Eigenschaft zur Einstellung der Optionen für eine Gruppe von Eingabeaufgaben, mit einer Beispieldatenstruktur:
{
"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"
}],
}
Codieren Sie diese Knopfsteuerungs-JSON-Daten in eine JSON-String und wickeln Sie sie dann mit`
Siehe hier, wie man das in der Statusleiste ausfügt.
function main() {
var btn = {"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
LogStatus("`" + JSON.stringify(btn) + "`")
}
Diese Tastensteuerungen können auch in Statusleiste-Formulare geschrieben werden, sieheSyntaxführerfür detaillierte Beispiele.
Die Struktur derinput
Das Feld entspricht der Struktur einer einzigen Kontrolle in dergroup
Nachstehend eine ausführliche Beschreibung:
{
"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
}
Komponentenkonfigurationsettings
Jedes Feld ist detailliert beschrieben:
settings.required
: Ob diese Option erforderlich ist.settings.disabled
Ob sie deaktiviert werden soll.settings.min
: Gültig, wenntype=number
, der den Mindestwert oder die Mindeststrängenlänge anzeigt.settings.max
: Gültig, wenntype=number
, der den Höchstwert oder die Höchststrängenlänge anzeigt.settings.step
: type=number
, gültig, wennrender=slider
, zeigt die Stufenlänge an.settings.multiple
: type=selected
ist gültig, was bedeutet, dass mehrere Auswahlmöglichkeiten unterstützt werden.settings.customizable
: type=selected
ist gültig, was anzeigt, dass die Anpassung unterstützt wird; Benutzer können direkt neue Optionen in der Dropdown-Fenstersteuerung bearbeiten und hinzufügen. Wenn die neu bearbeitete Option ausgewählt ist, wird der Name der Option anstelle des Wertes verwendet, der durch die Option dargestellt wird, wenn die Interaktion ausgelöst wird.settings.options
: Gültig, wenntype=selected
, mit Angabe des Datenformats für die Auswahloption:["option 1", "option 2"]
, [{'name':'xxx','value':0}, {'name':'xxx','value':1}]
.settings.render
: Typ der Rendering-Komponente.
Wann?type=number
, settings.render
nicht eingestellt ist (Standardnummer-Eingabefeld), optional:slider
(Schieberaden)date
(Zeitauswahlgerät gibt den Zeitstempel zurück).
Wann?type=string
, settings.render
nicht eingestellt ist (Standard-Einzeilen-Eingabefeld).textarea
(Mehrzeilen-Eingabe)date
(Zeitauswahlgerät gibt yyyy-MM-dd hh:mm:ss zurück),color
(Kleinschalter gibt #FF00FF zurück).
Wann?type=selected
, settings.render
nicht eingestellt (Standard-Roll-Down-Box), optional:segment
(Segmentwahl).type=boolean
hat derzeit nur ein Standardcheckfeld.Unterstützt zweisprachige Einstellungen, zum Beispiel:'选项 | options'
Die Anpassung an das aktuelle Sprachumfeld erfolgt durch eine einheitliche Kontrolle in dergroup
Feld als Beispiel, das vollständige Beispiel:
{
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}]
}
}
Komponentenkonfiguration
Handel mit Optionen