Ngoài việc thiết kế các điều khiển tương tác trong cột LogStatus
phần chức năng của
Điều khiển nút chung Một ví dụ về cấu trúc dữ liệu là:
{"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
Điều khiển nút với đầu vào dữ liệu
Sử dụnginput
thuộc tính để thiết lập các tùy chọn điều khiển đầu vào, với một ví dụ về cấu trúc dữ liệu:
{"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}]
}
},
}
Điều khiển nút với một bộ dữ liệu đầu vào
Sử dụnggroup
thuộc tính để thiết lập các tùy chọn cho một nhóm các điều khiển đầu vào, với một ví dụ về cấu trúc dữ liệu:
{
"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"
}],
}
Mã hóa các dữ liệu JSON kiểm soát nút này vào một chuỗi JSON, sau đó bọc nó với`
lấy ngôn ngữ JavaScript làm ví dụ:
function main() {
var btn = {"type": "button", "name": "button1", "cmd": "button1", "description": "This is the first button."}
LogStatus("`" + JSON.stringify(btn) + "`")
}
Các điều khiển nút này cũng có thể được viết vào biểu mẫu thanh trạng thái, vui lòng tham khảoHướng dẫn cú phápcho các ví dụ chi tiết.
Cấu trúc củainput
trường là phù hợp với cấu trúc của một kiểm soát duy nhất tronggroup
Sau đây là mô tả chi tiết:
{
"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
}
Cấu hình thành phầnsettings
mỗi trường được mô tả chi tiết:
settings.required
: Liệu tùy chọn này có cần thiết hay không.settings.disabled
: Có nên vô hiệu hóa hay không.settings.min
: Có hiệu lực khitype=number
, chỉ ra giá trị tối thiểu hoặc chiều dài chuỗi tối thiểu.settings.max
: Có hiệu lực khitype=number
, chỉ ra giá trị tối đa hoặc chiều dài chuỗi tối đa.settings.step
: type=number
, có hiệu lực khirender=slider
, cho thấy chiều dài bước.settings.multiple
: type=selected
là hợp lệ, cho thấy hỗ trợ nhiều lựa chọn.settings.customizable
: type=selected
là hợp lệ, chỉ ra rằng tùy chỉnh được hỗ trợ; người dùng có thể trực tiếp chỉnh sửa và thêm các tùy chọn mới trong điều khiển hộp thả xuống. Nếu tùy chọn mới được chỉnh sửa được chọn, tên của tùy chọn được sử dụng thay vì giá trị đại diện cho tùy chọn khi tương tác được kích hoạt.settings.options
: Có hiệu lực khitype=selected
, chỉ định định dạng dữ liệu tùy chọn chọn:["option 1", "option 2"]
, [{'name':'xxx','value':0}, {'name':'xxx','value':1}]
.settings.render
: Loại thành phần hiển thị.
Khi nàotype=number
, settings.render
không được thiết lập (hộp nhập số mặc định), tùy chọn:slider
(bảng trượt),date
(chọn thời gian trả về dấu thời gian).
Khi nàotype=string
, settings.render
không được thiết lập (hộp nhập một dòng mặc định).textarea
(sản nhập nhiều dòng),date
(chọn thời gian trả về yyyy-MM-dd hh:mm:ss),color
(điểm chọn màu trả về #FF00FF).
Khi nàotype=selected
, settings.render
không được thiết lập (bộ thả xuống mặc định), tùy chọn:segment
(chọn phân đoạn).type=boolean
hiện chỉ có hộp kiểm mặc định.Hỗ trợ cài đặt song ngữ, ví dụ: nội dung văn bản của'选项 | options'
sẽ được điều chỉnh theo môi trường ngôn ngữ hiện tại;group
trường như một ví dụ, ví dụ đầy đủ là:
{
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}]
}
}
Cấu hình thành phần
Giao dịch quyền chọn