UI篇
控件变量以及函数
控件变量以及函数
不相信自己的人总是在说谎。
控件变量以及函数
- 这里列出控件中可用的Shimmer函数以及控件对象自身的变量。
变量
固有变量
type
控件类型(固定值无法修改)actions
触发器字典[字典类型]dragX
当前X轴被拖动距离[数字类型](可赋值,但是应当是数字类型)dragY
当前Y轴被拖动距离[数字类型](可赋值,但是应当是数字类型)meta
元数据[字典类型]
动态变量
- 我记得在控件结构中提到了,属性是可以自己命名创建的。
- 比如下面这个配置:
- 这个时候这个控件可访问的变量包含
attribute
块下所有的值。 - 也就是
abcd
这个值,可以通过self.abcd
来访问或赋值。 - 其余变量同理,比如
width
可以通过self.width
来访问或赋值。 - 当然,没有在这个块里面声明的值也可以赋值访问,比如
self.a = 10
元素
- 通过控件对象自身,可通过元素访问语法来获取子级控件对象
- 比如我们获取子级的
button
控件,则可以用self['button']
来访问。
函数
parent()
- 获取控件父级(如果是顶层控件返回的是UI对象)
- 参数:无
- 返回值:UI 或 控件
- 调用示例
childrenCount()
- 获取子级控件数量(仅限子级,孙级以及以上不包含)
- 参数:无
- 返回值:数字类型
- 调用示例
remove()
- 移除当前控件
- 该语句不应在进行copy操作后立即调用
- 参数:无
- 返回值:无
- 调用示例
setDragXRatio(value)
- 设置X轴拖动比率
- 参数:
value
(比率,数字类型) - 返回值:无
- 调用示例
setDragYRatio(value)
- 设置Y轴拖动比率
- 参数:
value
(比率,数字类型) - 返回值:无
- 调用示例
getDragXRatio()
- 获取X轴拖动比率
- 参数:无
- 返回值:数字类型
- 调用示例
getDragYRatio()
- 获取Y轴拖动比率
- 参数:无
- 返回值:数字类型
- 调用示例
copy(name)
- 复制当前控件,并命名为
name
,调用后即刻添加至当前层级中
- 参数:
name
(复制后的控件名称,字符串类型) - 返回值:控件对象
- 调用示例
clear()
- 清除当前控件的所有子级控件
- 参数:无
- 返回值:无
- 调用示例
getStackWidth()
- 获取当前控件的堆叠宽度(仅限HStack)
- 参数:无
- 返回值:数字类型
- 调用示例
getStackHeight()
- 获取当前控件的堆叠高度(仅限VStack)
- 参数:无
- 返回值:数字类型
- 调用示例
getSlotItemStack()
- 获取当前控件的物品(仅限Slot)
- 参数:无
- 返回值:物品对象
- 调用示例
getItemValueSum(key)
- 获取整个UI中和当前控件中物品相同的槽位的物品量总和(当前控件数量不计入其中)用于做图纸插件的UI显示材料(仅限Slot)
- 参数:
key
(物品键,字符串类型) - 返回值:数字类型
- 调用示例
getItemText(key)
- 获取当前控件的物品文本值,比如有一行lore是
xxx: abc
,该函数用于获取冒号后面的内容(仅限Slot)
- 参数:
key
(键内容,字符串类型) - 返回值:字符串类型
- 调用示例
setContent(content)
- 设置文本框的内容(仅限TextBox | ChatTextBox)
- 参数:
content
(内容,字符串类型) - 返回值:无
- 调用示例
getContent()
- 获取文本框的内容(仅限TextBox | ChatTextBox)
- 参数:无
- 返回值:字符串类型
- 调用示例
insert(text)
- 在当前指针位置插入文字(仅限TextBox | ChatTextBox)
- 参数:
test
(插入的内容,字符串类型) - 返回值:无
- 调用示例
setFocus(value)
- 设置当前控件是否获取焦点(仅限TextBox | ChatTextBox)
- 参数:
value
(布尔类型,true表示获取焦点,false表示失去焦点) - 返回值:无
- 调用示例
isHovered()
- 获取控件此时是否鼠标悬停
- 参数:无
- 返回值:布尔类型
- 调用示例
setIconItem(item)
- 设置控件的图标物品(仅限Slot 且类型为Icon)
- 参数:
item
(物品JSON,字符串类型, 这个值需要序列化物品发送) - 返回值:无
- 调用示例
getSameCount()
- 获取当前容器中,有多少和当前Slot相同的物品数量(仅限Slot)
- 参数:无
- 返回值:数字类型
- 调用示例