vue element-ui table点击编辑后,变成input、select、date

这篇具有很好参考价值的文章主要介绍了vue element-ui table点击编辑后,变成input、select、date。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近,在项目上需要table可以行内编辑,在table添加了input、select、时间控件,并且可以保存本行数据,当你点击编辑时,table的列就会变成相对应的input、select和时间控件,点击保存时,需要调用后台接口把本行的数据传个后台。
el-table 点击显示输入框,javascript,vue,1024程序员节

<template>
    <div class="Table" style="width:80%; margin:0 auto;">
      <el-table :data="prototypes" style="width: 100%;">
        <!-- 序号栏目 type="index" -->
        <el-table-column 
          fixed
          type="index" 
          label="序号" 
          width="100"
        >
        </el-table-column>
        <el-table-column
          fixed
          prop="name"
          label="姓名"
          width="120"
        >
        </el-table-column>
        <!-- 此页重点部分  编辑之前以span形式显示,点击编辑之后,以input栏目显示 -->
        <el-table-column label="地址" width="380">
          <template slot-scope="scope">
            <span v-if="scope.row.vVisible">{{scope.row.city}}</span>
            <el-input v-else v-model="scope.row.city"></el-input>
          </template>
        </el-table-column>
        <el-table-column label="性别" width="380">
          <template slot-scope="scope">
            <span v-if="scope.row.vVisible">
              <span v-if="scope.row.sex == '0'">
                男
              </span>
              <span v-else>
                女
              </span>
            </span>
            <el-select v-else v-model="scope.row.sex" clearable  >
              <el-option
                v-for="item in sexes"
                :key="item.value"
                :label="item.text"
                :value="item.value"
              >
              </el-option>
            </el-select>
          </template>
        </el-table-column>
        <el-table-column label="日期" width="380">
          <template slot-scope="scope">
            <span v-if="scope.row.vVisible">{{scope.row.dateValue}}</span>
            <el-date-picker
              v-else
              v-model="scope.row.dateValue"
              format="yyyy-MM-dd"
              value-format="yyyy-MM-dd"
              type="date"
              placeholder="选择日期"
            >
            </el-date-picker>
          </template>
        </el-table-column>
        <el-table-column label="操作" width="160">
          <template slot-scope="scope">
            <div class="special">
              <span v-if="scope.row.vVisible" class="items" @click="edit(scope.row)">编辑</span>
              <span v-else class="items" @click="edit(scope.row)">保存</span>
              <span>|</span>
              <span class="items" @click="deleteit(scope.row)">删除</span>
            </div>
          </template>
        </el-table-column>
      </el-table>
    </div>
</template>
  
  <script>
  export default {
    data() {
        return{
            // 表格绑定的数据
            prototypes:[{
                name: '王小虎',
                city: '北京朝阳',
                sex:"0",
                dateValue:"2022-10-24",
                isNull: false,
                vVisible: true
            },{
                name: '李晓琪',
                city: '北京东城',
                sex:"1",
                dateValue:"2022-10-25",
                isNull: true,
                vVisible: true
            }, {
                name: '张小民',
                city: '北京西城',
                sex:"0",
                dateValue:"2022-10-26",
                isNull: true,
                vVisible: true
            }],
            sexes:[
              {
                text:'男',
                value:'0'
              },{
                text:'女',
                value:'1'
              }
            ],
        }
    },
    methods: {
        // 点击编辑按钮
        edit(row) {
            row.vVisible = !row.vVisible
            console.log(row)
        },
        // 点击删除按钮
        deleteit(row) {

        }
    }
  }
</script>
<style scoped>
.special{
  cursor: pointer;
}
.special .items:hover{
  color: #6fbaff;
}
</style>
  
  

参考网站:https://www.codenong.com/cs106360465/文章来源地址https://www.toymoban.com/news/detail-520484.html

到了这里,关于vue element-ui table点击编辑后,变成input、select、date的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【表格单元格可编辑】vue-elementul简单实现table表格点击单元格可编辑,点击单元格变成输入框修改数据

    这是最近遇到的功能,经常会需要一个表格可以编辑数据 类似于excel那种点击一下单元格就可以编辑数据,修改后鼠标移动出去 光标消失就会保存数据给后台 这里记录一下实现方法,其实也比较简单 就是通过角标来判断显示隐藏的 这里考虑到有些时候可能想要点击单元格不

    2024年02月09日
    浏览(44)
  • element-ui中el-table点击其他自定义按钮展开table中某一行

    在日常开发中,我们遇见了会有点击某些按钮,使得表格行展开的需求,这时候去查看文档 element-ui(table) 这里官方提供了示例为在行最左侧有一个展开合并icon,但是点其他地方不能展开,我们又想点其他地方而展开 我们看见是在table-column上定了type为expand,而该列里面的

    2024年01月18日
    浏览(38)
  • element-ui 中 el-table 分页多选(记住上一页勾选数据)及编辑回显 element-ui 中 el-table 分页多选(记住上一页勾选数据)及编辑回显

    element-ui 的官网是有属性的 row-key  属性传入唯一值 row-key  属性传入一个方法 核心: this.$refs.multipleTable.toggleRowSelection(val, true)

    2024年02月15日
    浏览(47)
  • Vue Element-ui Table表格排序

    一.表格中有时候会有排序的需求,如果只针对当前页进行排序,那么前端就可以实现排序,在对应需要排序的字段中,使用sortable字段即可。 二.存在分页的情况时,前端仅仅使用sortable当前页排序已经不能满足我们的需求,无法对所有数据进行排序。这时候我们就要使用后端

    2024年02月11日
    浏览(51)
  • vue监听element-ui的table表格滚动事件

    这篇文章主要是讲述“如何监听element-ui table滚动事件”,按我自己尝试的方法去实现。 需求分析: 前两天做项目遇到一个问题,数据量大,然后表格渲染的很慢,而且很卡怎么办?有什么优化的方式? 那无非就是两种方法。 先加载一屏表格的数据,之后触底加载新的数据

    2024年02月12日
    浏览(58)
  • Vue-给element-ui的input输入框绑定键盘事件不生效

    在vue中使用elementui的input组件绑定回车事件生效。 el-input @keyup.enter=\\\'方法\\\' /el-input 在vue中如果直接使用 v-on或@ 监听事件的话, 监听的是 由组件中使用$emit自定义的事件 , 例如下面代码。 使用 .native 修饰符, 告诉vue这是触发的 原生事件 不是 自定义事件 , 比如下面这个监听 ele

    2024年02月13日
    浏览(62)
  • vue结合element-ui实现(按钮控制)动态增加减少input框功能。

    一、template部分 二、script部分 三、效果展示 这是初始页面  这是点击添加 这是删除的     四、详细说明 v-for=\\\"(item,index)in array\\\" :key = \\\"index\\\" 这个是重点!!! ! 通俗点将,就是用一个div(盒子)将input输入框包括起来,然后在div中使用 v-for=\\\"(item,index)in array\\\" :key = \\\"ind

    2024年02月12日
    浏览(61)
  • vue+element-ui+springboot 在线表格编辑

    方法: 编辑excel 格式为需要的样子,另存为html 打开files文件,复制html部分代码和样式到vue文件 将需要编辑的部分使用控件填入 代码: 特别地: 服装列数可变,需要动态变换,同时有的可编辑,有的不可编辑 增加表格行数,可通过增加memberList 数据进行动态添加和删除,无

    2024年01月24日
    浏览(50)
  • vue 图片点击放大查看大图(element-ui与vant)

    未放大效果: 点击放大后的效果: html: js: html: js:

    2024年02月08日
    浏览(53)
  • vue使用element-ui,el-table不显示

    例如:新增了一个表格,按官网代码贴过来的,结果一直不显示 代码如下一模一样,其他数据正常显示,就表格不显示 其实版本库不一致导致的,贼坑,又不提示 先卸载element-ui安装一个低版本的element-ui就可以解决``

    2024年02月11日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包