zoukankan      html  css  js  c++  java
  • layui列表 checkbox和radio不显示

    如果列表内容是动态生成的,需要生成后调用渲染方法进行渲染。

    当你使用表单时,layui 会对 select、checkbox、radio 等原始元素隐藏,从而进行美化修饰处理。但这需要依赖于 form 组件,所以你必须加载 form,并且执行一个实例。

    layui.use('form', function(){
      var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
      
      //……
      
      //但是,如果你的HTML是动态生成的,自动渲染就会失效
      //因此你需要在相应的地方,执行下述方法来进行渲染
      form.render();
    });     
    更新渲染

    有些时候,你的有些表单元素可能是动态插入的。这时 form 模块 的自动化渲染是会对其失效的。虽然我们没有双向绑定机制(因为我们叫经典模块化框架,偷笑.gif) 但没有关系,你只需要执行 form.render(type, filter); 方法即可。

    第一个参数:type,为表单的 type 类型,可选。默认对全部类型的表单进行一次更新。可局部刷新的 type 如下表:

    参数(type)值描述
    select 刷新select选择框渲染
    checkbox 刷新checkbox复选框(含开关)渲染
    radio 刷新radio单选框框渲染
    form.render(); //更新全部
    form.render('select'); //刷新select选择框渲染
    //……

    第二个参数:filter,为 class="layui-form" 所在元素的 lay-filter="" 的值。你可以借助该参数,对表单完成局部更新。

    【HTML】
    <div class="layui-form" lay-filter="test1"></div>
     
    <div class="layui-form" lay-filter="test2"></div>
          
    【JavaScript】
    form.render(null, 'test1'); //更新 lay-filter="test1" 所在容器内的全部表单状态
    form.render('select', 'test2'); //更新 lay-filter="test2" 所在容器内的全部 select 状态
    //……
    预设元素属性

    事实上在使用表单时,你的一半精力可能会在元素本身上。所以我们把一些基础属性的配置恰恰安放在了标签本身上。如:

    <input type="text" lay-verify="email">
    <input type="checkbox" checked lay-skin="switch" lay-filter="encrypt" title="是否加密">
    <button lay-submit>提交</button>

    上述的lay-verifylay-skinlay-filterlay-submit神马的都是我们所说的预设的元素属性,他们可以使得一些交互操作交由form模块内部、或者你来借助form提供的JS接口精确控制。目前我们可支持的属性如下表所示:

    文章中有具体的对表单的各种操作,比如:

    事件监听

    表单赋值/取值

    表单验证

    地址:https://www.layui.com/doc/modules/form.html#render

  • 相关阅读:
    url参数中出现+、空格、=、%、&、#等字符的解决办法
    hybrid app、react-native 区别
    native app、web app、hybrid app、react-native 区别
    hybrid app 知识点
    使用过的bug跟踪系统
    移动端点击延迟的解决方案
    Java中的null
    类加载器 知识点
    hashcode 知识点
    stylus 知识点
  • 原文地址:https://www.cnblogs.com/Tpf386/p/12665094.html
Copyright © 2011-2022 走看看