zoukankan      html  css  js  c++  java
  • vue中用div的contenteditable属性实现v-for遍历,双向数据绑定的动态表格编辑

    1.HTML部分

      <tr v-for="(item,index) in customerVisitList2" :key="index">
          <td class="customerName"><div class="divEdit" contenteditable="true" @blur="blurFunc($event,2,index,'customerName')">{{customerVisitList2[index].customerName}}</div></td>
          <td class="visitTime"><div class="divEdit" contenteditable="true" @blur="blurFunc($event,2,index,'visitTime')">{{customerVisitList2[index].visitTime}}</div></td>
          <td class="visitDesc"><div class="divEdit" contenteditable="true" @blur="blurFunc($event,2,index,'visitDesc')">{{customerVisitList2[index].visitDesc}}</div></td>
          <td class="operation textAlignCenter"><div class="divEdit"><span class="iconfont icon-shanchu hoverStyle" @click="removeCustomerVisit(2,index)"></span></div></td>                                
      </tr>

    2.JS部分

            blurFunc(e,type,index,name){
           //失去焦点实现双向数据绑定 let content = e.target.innerText e.target.innerText = '' if(type === 1){ this.customerVisitList1[index][name] = content }else{ this.customerVisitList2[index][name] = content } e.target.innerText = content }, addCustomerVisit(type){
            //添加行 let index if(type === 1){ this.customerVisitList1.push({customerType: 'oldCustomer',customerName:'',visitTime:'',visitDesc:''}) }else{ this.customerVisitList2.push({customerType: 'newCustomer',customerName:'',visitTime:'',visitDesc:''}) } }, removeCustomerVisit(type,index){ //移除行 if(type === 1){ console.log(this.customerVisitList1) this.customerVisitList1.splice(index,1) }else{ console.log(this.customerVisitList2) this.customerVisitList2.splice(index,1) } },

     3.css部分(stylus)

    .divEdit{
        outline: none    
    }
    .textAlignCenter{
        text-align: center
    }
    .listTable{
                padding 4px 10px 4px 4px
                font-size 11px
                width 100%
                td,th{
                    padding-left 4px
                    line-height 24px
                    width 100%
                }
                .customerName{
                    width 150px
                }
                .visitTime{
                    width 120px
                }
                .visitDesc{
                    width auto
                }
                .operation{
                    width 34px
                }
            }
  • 相关阅读:
    luogu P4284 [SHOI2014]概率充电器 期望 概率 树形dp
    luogu P5161 WD与数列 SAM 线段树合并 启发式合并
    5.5 省选模拟赛 B Permutation 构造 贪心
    luogu P3761 [TJOI2017]城市 树的直径 bfs
    一本通 1783 矩阵填数 状压dp 容斥 计数
    CF R638 div2 F Phoenix and Memory 贪心 线段树 构造 Hall定理
    BSOJ 5445 -- 【2018雅礼】树 prufer序列 dp
    CF1037H Security 线段树合并 SAM
    c++11の顺序容器
    c++11の关联容器
  • 原文地址:https://www.cnblogs.com/cx709452428/p/10600558.html
Copyright © 2011-2022 走看看