Firefly开源社区

标题: Luci入门--Value用法 [打印本页]

作者: 代祥军    时间: 2015-3-25 12:02
标题: Luci入门--Value用法
一.:value(key,value=key)
描述:Convert this text field into a combobox if possible and add a selection option.
该文本字段转换成组合框,如果可能的话,并添加选择的选项。
在wifidog界面中对此选项的配置如下:
  1. gateway_interface = s:taboption("gjsz",Value,"gateway_interface","内网接口","设置内网接口,默认'br-lan'。")
  2. gateway_interface.default = "br-lan"
  3. gateway_interface:value(wan_ifname,wan_ifname .."" )
  4. gateway_interface:value(lan_ifname,lan_ifname .. "")
复制代码


此选项相当于下拉菜单

如下图:


如果加上下面的循环代码向此下拉菜单中加入所有的网络接口
  1.     for _, e in ipairs(sys.net.devices()) do
  2.                     if e ~= "lo" then
  3.                                    gateway_interface:value(e)
  4.          end
  5.             if e ~= "lo" then
  6.                 gateway_eninterface:value(e)
  7.          end
  8. end
复制代码

如图所示:


将所有网络设备的接口显示在这个下拉菜单中。代码中去掉
  1. gateway_interface:value(wan_ifname,wan_ifname .."" )
  2. gateway_interface:value(lan_ifname,lan_ifname .. "")
  3. for _, e in ipairs(sys.net.devices()) do      
  4.        if e ~= "lo" then
  5.              gateway_interface:value(e)
  6.        end      
  7.        if e ~= "lo" then
  8.              gateway_eninterface:value(e)
  9.         end
  10. end
复制代码


效果如下:


二.:depend(key,value)
描述:Only show this option field if another option key is set to value in the same section.
If you call this function several times the dependencies will be linked with or
只能显示该选项字段,如果另一个选项键被设置在相同的section。
如果你调用这个函数多次的依赖将或链接官网说的太绕口了,
简单的说就是此值表示这个选项是依赖别的选项,别的选项如果设置为了真则此选项才能显示出来。查看
  1. ssl_enable = s:taboption("gjsz",Flag, "ssl_enable", translate("加密传输"),"启用安全套接层协议传输,提高网络传输安全")
  2. sslport = s:taboption("gjsz",Value,"sslport","SSL传输端口号","默认443")
  3. sslport:depends("ssl_enable","1")
复制代码


图示:

此时未选中按钮,未出现“SSL传输端口号”,如果我们选中又如何:


从图例中很容易发现depends就是依赖别的选项。
QQ:574889524





欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1