function JingYanShangHang:main(npcData)
self.npcData = npcData or {}
self.npcID = self.npcData.npcID or 0
UIManager:winCreate(self)
UIManager.widget_scale(self.parent, math.random(3), 0.15)
UIManager:addOpenExcelBtn(self)
self
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-29 19:14:26 |
👁️ 阅读: 11
你的代码错误在于错误地使用了 `GUI:TextInput_setPlaceholderFont` 函数。根据浮生梦老师前端课程内容,这个函数是用来设置占位文本的字体文件路径,而不是设置文本内容。
错误行:
```lua
GUI:TextInput_setPlaceholderFont(ui["TextInput_"..i], self["num"..i])
```
**函数说明:**
`GUI:TextInput_setPlaceholderFont(widget, value, value2)` 需要三个参数:
- `widget`:输入框对象
- `value`:字体路径
- `value2`:字体文件名(如"font.ttf")
**正确做法:**
你应该使用 `GUI:TextInput_setString` 来设置输入框的文本内容,或者用 `GUI:TextInput_setPlaceHolder` 来设置占位文本。
修改后的代码:
```lua
for i = 1 , 3 do
UILib:addOnClickEvent(ui["Jia_"..i], function()
self["num"..i] = self["num"..i] + 1
SL:print("输入框"..i.."的值为", self["num"..i])
-- 设置输入框的文本内容
GUI:TextInput_setString(ui["TextInput_"..i], tostring(self["num"..i]))
end)
UILib:addOnClickEvent(ui["Jian_"..i], function()
self["num"..i] = self["num"..i] - 1
SL:print("输入框"..i.."的值为", self["num"..i])
-- 设置输入框的文本内容
GUI:TextInput_setString(ui["TextInput_"..i], tostring(self["num"..i]))
end)
UILib:addOnClickEvent(ui["Max_"..i], function()
-- 设置输入框的文本内容为最大值
GUI:TextInput_setString(ui["TextInput_"..i], tostring(_cfg[self.select].maxNum))
end)
end
```
**学习建议:**
1. 仔细查看函数文档,注意参数类型和数量
2. 使用 `SL:print()` 而不是 `print()` 进行调试输出
3. 不确定的函数用法可以查阅浮生梦老师的前端课程资料
下次注意函数参数的正确使用,不懂的可以问浮生梦尊师!
← 返回问答库