import com.m8test.script.GlobalVariables.*
fun side1Run() {
// 创建一个 ComposeView, 可以通过声明式ui创建脚本界面
_composeView.create {
// 1. 创建 state 必须要在 slot 闭包中,因为这个代码只会执行一次,不会重组
val name = mutableStateOf("")
OutlinedTextField {
// 2. 让 TextField 追踪 name 状态, 当 name 改变时,TextField 会重组
trackSingleState(name)
// 3. 使用 name 状态的值
setValue(name.getValue())
setOnValueChange { newValue ->
// 4. 更新 name 状态的值
name.setValue(newValue)
}
}
}
// 启动一个Activity用于显示脚本界面
_activity.start()
}
//-m8test-remove side1Run();
// 创建一个 ComposeView, 可以通过声明式ui创建脚本界面
$composeView.create { slot ->
// 1. 创建 state 必须要在 slot 闭包中,因为这个代码只会执行一次,不会重组
def name = slot.mutableStateOf("")
slot.OutlinedTextField { textField ->
// 2. 让 TextField 追踪 name 状态, 当 name 改变时,TextField 会重组
textField.trackSingleState(name)
// 3. 使用 name 状态的值
textField.setValue(name.getValue())
textField.setOnValueChange { newValue ->
// 4. 更新 name 状态的值
name.setValue(newValue)
}
}
}
// 启动一个Activity用于显示脚本界面
$activity.start()
// 创建一个 ComposeView, 可以通过声明式ui创建脚本界面
$composeView.create(slot => {
// 1. 创建 state 必须要在 slot 闭包中,因为这个代码只会执行一次,不会重组
const name = slot.mutableStateOf("");
slot.OutlinedTextField(textField => {
// 2. 让 TextField 追踪 name 状态, 当 name 改变时,TextField 会重组
textField.trackSingleState(name);
// 3. 使用 name 状态的值
textField.setValue(name.getValue());
textField.setOnValueChange(newValue => {
// 4. 更新 name 状态的值
name.setValue(newValue);
});
});
});
// 启动一个Activity用于显示脚本界面
$activity.start();
-- 创建一个 ComposeView, 可以通过声明式ui创建脚本界面
_composeView:create(function(slot)
-- 1. 创建 state 必须要在 slot 闭包中,因为这个代码只会执行一次,不会重组
local name = slot:mutableStateOf("")
slot:OutlinedTextField(function(textField)
-- 2. 让 TextField 追踪 name 状态, 当 name 改变时,TextField 会重组
textField:trackSingleState(name)
-- 3. 使用 name 状态的值
textField:setValue(name:getValue())
textField:setOnValueChange(function(newValue)
-- 4. 更新 name 状态的值
name:setValue(newValue)
end)
end)
end)
-- 启动一个Activity用于显示脚本界面
_activity:start()
<?php
/** @var m8test_java\com\m8test\script\core\api\ui\compose\ComposeView $composeView */
global $composeView;
/** @var m8test_java\com\m8test\script\core\api\ui\Activity $activity */
global $activity;
// 创建一个 ComposeView, 可以通过声明式ui创建脚本界面
$composeView->create(function ($slot) {
// 1. 创建 state 必须要在 slot 闭包中,因为这个代码只会执行一次,不会重组
$name = $slot->mutableStateOf(javaString(""));
$slot->OutlinedTextField(function ($textField) use ($name) {
// 2. 让 TextField 追踪 name 状态, 当 name 改变时,TextField 会重组
$textField->trackSingleState($name);
// 3. 使用 name 状态的值
$textField->setValue($name->getValue());
$textField->setOnValueChange(function ($newValue) use ($name) {
// 4. 更新 name 状态的值
$name->setValue($newValue);
});
});
});
// 启动一个Activity用于显示脚本界面
$activity->start();
# 导入所需的全局变量
from m8test_java.com.m8test.script.GlobalVariables import _composeView
from m8test_java.com.m8test.script.GlobalVariables import _activity
# 创建一个 ComposeView, 可以通过声明式ui创建脚本界面
_composeView.create(lambda slot: (
# 1. 创建 state 必须要在 slot 闭包中,因为这个代码只会执行一次,不会重组
(name := slot.mutableStateOf("")),
slot.OutlinedTextField(lambda textField: (
# 2. 让 TextField 追踪 name 状态, 当 name 改变时,TextField 会重组
textField.trackSingleState(name),
# 3. 使用 name 状态的值
textField.setValue(name.getValue()),
textField.setOnValueChange(lambda newValue: (
# 4. 更新 name 状态的值
name.setValue(newValue)
))
))
))
# 启动一个Activity用于显示脚本界面
_activity.start()
# encoding: utf-8
# 创建一个 ComposeView, 可以通过声明式ui创建脚本界面
$composeView.create do |slot|
# 1. 创建 state 必须要在 slot 闭包中,因为这个代码只会执行一次,不会重组
name = slot.mutableStateOf("")
slot.OutlinedTextField do |textField|
# 2. 让 TextField 追踪 name 状态, 当 name 改变时,TextField 会重组
textField.trackSingleState(name)
# 3. 使用 name 状态的值
textField.setValue(name.getValue())
textField.setOnValueChange do |newValue|
# 4. 更新 name 状态的值
name.setValue(newValue)
end
end
end
# 启动一个Activity用于显示脚本界面
$activity.start()