当前位置:   article > 正文

element 表格套输入框_element表格嵌入输入框

element表格嵌入输入框

实现效果:

编辑:

 查看:点击平台补贴展示弹窗

  1. <el-table
  2. :data="tableData"
  3. border
  4. :header-cell-style="{background:'#D7D7D7',color:'#000'}"
  5. style="width: 100%"
  6. @row-dblclick="dbclick"
  7. :cell-class-name="tableCellClassName">
  8. <!-- 平台端 -->
  9. <el-table-column
  10. prop="platformSubsidyPrice"
  11. align="center"
  12. label="平台补贴">
  13. <template slot-scope="scope">
  14. <!--v-if去判断双击的是不是当前单元格-->
  15. <el-input
  16. min="0"
  17. placeholder="填写平台补贴"
  18. @change="hideInputOne(scope.row)"
  19. oninput="value=value.replace(/^([0-9-]\d*\.?\d{0,2})?.*$/,'$1')"
  20. size="mini"
  21. :ref="scope.row.index + ',' + scope.column.index"
  22. v-model="scope.row.platformSubsidyPrice"
  23. v-if="scope.row.index + ',' + scope.column.index == currentCell && statusForm == 'update' ? disabled = true : disabled = false">
  24. </el-input>
  25. <span v-else style="color:red" @click="hideVisible" >{{scope.row.platformSubsidyPrice}}</span>
  26. </template>
  27. </el-table-column>
  28. </el-table>

方法:

  1. // 给单元格绑定横向和竖向的index,这样就能确定是哪一个单元格
  2. tableCellClassName({row, column, rowIndex, columnIndex}){
  3. row.index=rowIndex;
  4. column.index=columnIndex;
  5. },
  6. // 获得当前双击的单元格的横竖index,然后拼接成一个唯一字符串用于判断,并赋给currentCell
  7. // 拼接后类似这样:"1,0","1,1",
  8. dbclick(row,column) {
  9. this.currentCell = row.index + ',' + column.index;
  10. if(statusForm == 'update'){ //防止不是编辑的时候点击报错
  11. return
  12. }
  13. // 这里必须要setTimeout,因为在点击的时候,input才刚被v-if显示出来,不然拿不到dom
  14. setTimeout(() => {
  15. // 双击后自动获得焦点
  16. this.$refs[row.index + ',' + column.index].focus();
  17. })
  18. },
  19. //input失去焦点的时候,隐藏input
  20. hideInputOne(row){
  21. this.formData.platformSubsidyPrice = row.platformSubsidyPrice
  22. this.currentCell = null;
  23. this.dialogplatformVisible = true;
  24. this.tableDatas = this.formData.platformSubsidyPriceRecords
  25. },
  26. // 如果等于查看,子表单就展示
  27. hideVisible(){
  28. if(this.statusForm == 'create'){
  29. this.dialogplatformVisible = true;
  30. }
  31. },
  32. // 平台-关闭
  33. closePlatform(){
  34. this.dialogplatformVisible = false;
  35. },
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/584038
推荐阅读
相关标签
  

闽ICP备14008679号