layui和vue的项目应用(转载)

layui和vue的项目应用(转载)layuitable结合vue实现行新增删除修改-简书

大家好,又见面了,我是你们的朋友全栈君。

layui table结合vue实现行 新增 删除 修改 – 简书

<!DOCTYPE html>
 
<html>
<head>
    <meta charset="utf-8">
    <title>layuiTable用vue实现行编辑  修改</title>
    <link rel="stylesheet" type="text/css" href="https://www.layuicdn.com/layui/css/layui.css" />
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script src="https://www.layuicdn.com/layui/layui.js"></script>
</head>
<body>
    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
      <legend>默认表格</legend>
    </fieldset>
    <div id="app">
        <button type="button" class="layui-btn" @click="addRow">新增</button> 
        <form class="layui-form" action="">
            <div class="layui-form" id="">
              <table class="layui-table">
                <colgroup>
                  <col width="150">
                  <col width="150">
                  <col width="100">
                  <col width="50">
                  <col width="50">
                </colgroup>
                <thead>
                  <tr >
                    <th>名称</th>
                    <th>性别</th>
                    <th>生日</th>
                    <th>年级</th>
                    <th>操作</th>
                  </tr> 
                </thead>
                <tbody>
                  <tr v-for="(item, index) in showMealList">
                    <td><input type="text" name="userName" placeholder="请输入" autocomplete="off" class="layui-input" v-model="item.userName"></td>
                    <td>
                            
                        <div class="layui-inline">
                          <input type="radio" v-bind:name="'sex_'+index" value="男" title="男"  :checked="item.sex==1">
                          <input type="radio" v-bind:name="'sex_'+index" value="女" title="女" :checked="item.sex==2">
                        </div>
                    </td>
                    <td><input type="datetime" class="layui-input data"  v-bind:name="'data_'+index" v-bind:rowIndex="index" name="data" v-model="item.data"></td>
                    <td>
                        <select style="width: 80px;" name="grade"  v-bind:rowIndex="index"  v-model="item.grade">
                            <option></option>
                            <option v-for="(gradeObj, gradeIndex) in grades" :checked="item.grade==gradeObj">{
  
  {gradeObj}}</option>
                        </select>
                    </td>
                     <td><button type="button" class="layui-btn" @click="delRow(index)">删除</button></td>
                  </tr>
                  
                </tbody>
              </table>
            </div>
        </form> 
    </div>
    
<script type="text/javascript">
    var form ;
    var laydate;
    layui.use(['form','laydate', 'laypage', 'layer', 'table', 'carousel', 'upload', 'element'], function() {
          form = layui.form;
          laydate = layui.laydate; //日期
          var laypage = layui.laypage //分页
          ,layer = layui.layer //弹层
          ,table = layui.table //表格
          ,carousel = layui.carousel //轮播
          ,upload = layui.upload //上传
          ,element = layui.element; //元素操作 等等...
          
          laydateRender();
          
          form.on('select', function(data){
             var rowValue = data.elem.getAttribute('rowIndex');
             //这里加个name 可以区分同一行多个select
             var valueName = data.elem.getAttribute('name');
             app.showMealList[rowValue][valueName] = data.value;
          });
    
    });
    function laydateRender(){
        lay('.data').each(function(){
            laydate.render({
                elem: this
                ,trigger: 'click'
                ,showBottom: false
                ,done: function (value) { // value 是laydate选择的日期
                     this.value = value; // vue对象的属性设置为当前的日期
                     //这里注意要获取行数  然后把该行的时间对象更新了
                     var rowValue = this.elem.attr('rowIndex');
                     app.showMealList[rowValue].data = value;
                }
            });
        });
    }
    
    var app = new Vue({
              el: '#app',
              data: {
                message:'  ',
                grades:[1,2,3,4,5,6],
                rowObj:{
                    userName:'',
                    sex:1,
                    data:'',
                    grade:''
                },
                showMealList:[]
              },
              created: function () {
                this.showMealList[0] = JSON.parse(JSON.stringify(this.rowObj))
              },
              watch:{
                 
              },
              methods:{
                  addRow:function(){
                      console.log('addRow')
                      //this.$set(this.showMealList, showMealListlength, this.rowObj);
                      var newObj = JSON.parse(JSON.stringify(this.rowObj))
                      this.showMealList.push(newObj)
                  },
                  delRow:function(rowIndex){
                        console.log(rowIndex)
                        this.showMealList.splice(rowIndex,1);
                  }
              },
              updated:function(){
                form.render();
                laydateRender();
              }
              
                
            })
</script>
</body>
</html>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152811.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月25日 下午6:16
下一篇 2022年6月25日 下午6:16


相关推荐

  • ensp实验DHCP配置与原理[通俗易懂]

    DHCP报文类型DHCP客户端初次接入网络时,会发送DHCP报文(DHCPDiscover),用于查找和定位DHCP服务器DHCP服务器在收到DHCP发现报文后,会发送DHCP请求报文(DHCPOffer)此报文包含IP地址等配置信息在DHCP客户端收到服务器发送的DHCP提供报文后,会发送DHCP请求报文(DHCPRequest)另外在DHCP客户端获取IP地址并重启后,同…

    2022年4月7日
    399
  • 径向基函数神经网络(RBFNN)详解

    径向基函数神经网络(RBFNN)详解径向基函数神经网络 RBFNN 前言 RBFNN 是 20 世纪 80 年代末提出的一种单隐层 以函数逼近为基础的前馈神经网络 随着研究日渐成熟 RBFNN 以其结构简单 非线性逼近能力强以及良好的推广能力 受到各领域研究者的极大关注 被广泛应用于模式分类 函数逼近和数据挖掘等众多研究领域 1 基础知识 RBFNN 全称为 RadialBasisF 中文名为径

    2026年3月19日
    2
  • ip addr命令作用_linux查不到ip地址

    ip addr命令作用_linux查不到ip地址1.添加ip:ipaddradd1.1.1.100/255.255.255.0deveth02.删除ip:ipaddrdel1.1.1.100/255.255.255.0deveth03.清空接口ip:ipaddrflushdeveth0转载于:https://www.cnblogs.com/wangjq19920210/p/99995…

    2022年7月27日
    9
  • Apache 服务器特点

    Apache 服务器特点Apache 服务器特点 Apache 一种开放源码的 HTTP 服务器 可以在大多数计算机操作系统中运行 由于其多平台和安全性被广泛使用 是最流行的 Web 服务器端软件之一 它快速 可靠并且可通过简单的 API 扩展 Perl Python 等解释器可被编译到服务器中 Apache 服务器特点 1 开放源代码 2 跨平台应用 可运行 windoows 和大多数 linux 系统 3 支持

    2026年3月19日
    2
  • 基因调控网络&群体机器人(1)

    基因调控网络&群体机器人(1)基因调控网络 amp 群体机器人 1 生物体的复杂程度并不仅仅是由基因数目决定的 基因无法完全反映复杂的生命现象 在简单到复杂 低级到高级的生物进化过程中 生物系统中基因 蛋白质 小分子之间的复杂相互作用关系起决定作用 系统生物学 Systembiolog 就是基于这样的大背景应运而生 成为当今生物学研究的热点新领域 系统生物学致力于研究生物系统中组成成分的构成 以及在特定条件下这些组分间

    2026年3月18日
    2
  • js 跳转

    js 跳转文章目录 js 跳转 js 跳转 window location reload 刷新当前页 window location href 目标 URL 路由跳转到目标 URL 取消 a 链接的跳转 点击时触发 click 事件 void 是一个操作符 标识不返回值 后面的 可以写 可以不写 ahref javascript void 0 nclick alert 111 ahref javascript void 0 nclick alert 111

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号