zoukankan      html  css  js  c++  java
  • layui框架下如何给select的option选项赋值

    后端返回数据格式

    axios方法执行成功后返回的数据格式如下图

    image-20210130110412199

    前端下拉框

    <div class="layui-form-item">
        <label class="layui-form-label">年级</label>
        <div class="layui-input-block">
            <select name="gradeId" id="gradeId" lay-verify="required"></select>
        </div>
    </div>
    

    前段js

    axios({
        url:"grade/list",
        method:'get'
    })
    .then(response=> {
        data = response.data.grades
        let options = '<option value="">请选择年级</option>';
        for (let obj of data) {
            options += '<option value="' + obj.id + '">' + obj.name + '</option>'
        }
        $('#gradeId').append(options);
        form.render('select');//处理动态赋值
    }).catch(errors=>{
        layui.msg(errors)
    });
    

    需要注意一点,后端拿到的数据要进行一个动态渲染之后,才会出现效果。

    来自官方文档描述

    更新渲染

    有些时候,你的有些表单元素可能是动态插入的。这时 form 模块 的自动化渲染是会对其失效的。

    虽然我们没有双向绑定机制(因为我们叫经典模块化框架) 但没有关系,你只需要执行 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 状态
    //……
    

    参考链接:

    https://www.cnblogs.com/ovim/p/13171097.html
    https://www.layui.com/doc/modules/form.html

  • 相关阅读:
    HDU 1520 Anniversary party(简单树形DP)
    HDU 4398 Template Library Management(贪心,STL)
    HDU 2829 Lawrence(斜率优化DP)
    HDU 2993 MAX Average Problem(斜率优化DP)
    HDU 3507 Print Article(斜率DP优化)
    转:操作系统各大公司笔试题汇总
    转载 ANSI、Unicode、UTF8相互转化的函数
    2011 各大IT公司笔试面试题目
    Windows Media Format SDK系统概述
    limits.h
  • 原文地址:https://www.cnblogs.com/10134dz/p/14348500.html
Copyright © 2011-2022 走看看