Chuyển tới nội dung chính

! Hiển thị hộp thoại và trả về lựa chọn của người dùng (:show)

Khai báo​

có gửi hay không, bảng tùy chọn = đối tượng hộp thoại:show()

Giá trị trả về​

  • có gửi hay không
    Boolean. Nút Gửi có được nhấn hay không. Trả về false khi hết thời gian hoặc khi đóng bằng dấu “×”.
  • bảng tùy chọn
    Bảng. Bảng khóa-giá trị được ánh xạ theo nhãn tùy chọn.

Mô tả​

Hiển thị hộp thoại và trả về các lựa chọn của người dùng.
Nếu đã bật lưu cấu hình bằng :set_config(name), nhấn Gửi sẽ lưu cấu hình; đóng bằng “×” hoặc hết thời gian sẽ không lưu.

Ví dụ đơn giản​

local c, s = dialog():add_switch('Một công tắc', false):show()
sys.alert(s['Một công tắc'])

Lưu ý: Sử dụng sys.alert

Ví dụ phức tạp​

local dlg = dialog() -- tạo đối tượng hộp thoại
--
-- cấu hình hộp thoại
dlg:set_config('test') -- ID lưu cấu hình
dlg:set_timeout(30)
dlg:add_label('Bản minh họa đơn giản')
dlg:add_range('HP', {0, 1000, 1}, 300)
dlg:add_input('Tài khoản', 'ccc')
dlg:add_input('Mật khẩu', 'aaaa')
dlg:add_picker('Giới tính', {'Nam', 'Nữ', 'Không xác định'}, 'Nam')
dlg:add_switch('Bật chế độ gỡ lỗi', false)
dlg:add_checkbox('Trò chơi yêu thích', {'Overwatch', 'World of Warcraft', 'Hearthstone'}, {'Overwatch', 'World of Warcraft'})
dlg:add_radio('Trò chơi yêu thích nhất', {'Overwatch', 'World of Warcraft', 'Hearthstone'}, 'World of Warcraft')
--
local confirm, selects = dlg:show() -- hiển thị và nhận kết quả
--
if (confirm) then
print("Bạn đã nhấn Gửi")
else
print("Bạn chưa nhấn Gửi")
end
--
print("Tài khoản", selects["Tài khoản"])
print("Mật khẩu", selects["Mật khẩu"])
print("Giới tính", selects["Giới tính"])
print("HP", selects["HP"])
--
if (selects['Bật chế độ gỡ lỗi']) then
print("Chế độ gỡ lỗi đang bật")
else
print("Chế độ gỡ lỗi đang tắt")
end
--
print("Các trò chơi yêu thích của bạn")
for _, gamename in ipairs(selects['Trò chơi yêu thích']) do
print(gamename)
end
--
print("Trò chơi bạn yêu thích nhất: "..selects["Trò chơi yêu thích nhất"])
--
sys.alert(print.out())

Lưu ý: Sử dụng sys.alert, print, print.out