Selain merancang kontrol interaktif di kolom LogStatus
bagian fungsi dari
Kontrol tombol umum Contoh dari struktur data adalah:
{"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
Kontrol tombol dengan input data
Gunakaninput
properti untuk mengatur opsi kontrol input, dengan contoh struktur data:
{"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}]
}
},
}
Kontrol tombol dengan satu set data masukan
Gunakangroup
properti untuk mengatur opsi untuk sekelompok kontrol input, dengan contoh struktur data:
{
"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"
}],
}
Mengenkode data JSON kontrol tombol ini ke dalam string JSON, kemudian membungkusnya dengan`
Mengambil bahasa JavaScript sebagai contoh:
function main() {
var btn = {"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
LogStatus("`" + JSON.stringify(btn) + "`")
}
Kontrol tombol ini juga dapat ditulis ke formulir bilah status, silakan lihatPanduan Sintaksuntuk contoh rinci.
Struktur dariinput
bidang konsisten dengan struktur kontrol tunggal dalamgroup
Berikut ini adalah deskripsi rinci:
{
"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
}
Konfigurasi komponensettings
setiap bidang dijelaskan secara rinci:
settings.required
: Apakah opsi ini diperlukan.settings.disabled
Apakah untuk menonaktifkan.settings.min
: Berlaku kapantype=number
, menunjukkan nilai minimum atau panjang string minimum.settings.max
: Berlaku kapantype=number
, menunjukkan nilai maksimum atau panjang string maksimum.settings.step
: type=number
, berlaku ketikarender=slider
, menunjukkan panjang langkah.settings.multiple
: type=selected
adalah valid, menunjukkan bahwa beberapa pilihan didukung.settings.customizable
: type=selected
Jika pilihan yang baru diedit dipilih, nama opsi digunakan sebagai pengganti nilai yang diwakili oleh opsi ketika interaksi dipicu.settings.options
: Berlaku kapantype=selected
, yang menunjukkan format data opsi selector:["option 1", "option 2"]
, [{'name':'xxx','value':0}, {'name':'xxx','value':1}]
.settings.render
: Jenis komponen rendering.
Kapan?type=number
, settings.render
tidak ditetapkan (kotak input nomor default), opsional:slider
(slider bar),date
(selector waktu mengembalikan time stamp).
Kapan?type=string
, settings.render
tidak ditetapkan (default kotak input satu baris). Opsional:textarea
(masukan multi-line),date
(pemilih waktu mengembalikan yyyy-MM-dd hh:mm:ss),color
(pemilih warna mengembalikan #FF00FF).
Kapan?type=selected
, settings.render
tidak diatur (kotak drop-down default), opsional:segment
(selector segmen).type=boolean
saat ini hanya memiliki kotak centang default.Mendukung pengaturan bilingual, misalnya:'选项 | options'
akan disesuaikan sesuai dengan lingkungan bahasa saat ini;group
bidang sebagai contoh, contoh lengkap adalah:
{
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}]
}
}
Konfigurasi komponen
Perdagangan Opsi