element ui 点击单元格切换为输入框并且自动获取焦点

html

    <el-table
      ref="table"
      :data="aqjyData"
      border
      style="width: 100%"
      max-height="500"
      @cell-click="rowstatus"
    >
      <el-table-column
        label="序号"
        width="150"
        type="index"
      />
      <el-table-column
        label="建议"
        width="auto"
      >
        <template slot-scope="scope">
          <span
            v-if="!scope.row.suggestFlag "
          >
            {{ scope.row.suggest }}
          </span>
          <el-input
            v-if="scope.row.suggestFlag "
            ref="input"
            v-model="scope.row.suggest"
            placeholder="请输入内容"
            @blur="blur(scope.row,scope.column)"
          />
        </template>
      </el-table-column>

      <el-table-column
        label="操作"
        width="120"
      >
        <template slot-scope="scope">
          <el-button
            type="text"
            size="small"
            @click.native.prevent="deleteRow(scope.$index, aqjyData)"
          >
            移除
          </el-button>
        </template>
      </el-table-column>
    </el-table>

js

methods:{
    // 点击单元格切换单元格状态为输入框
   rowstatus(row, column, cell, event) {
      if (column.label === '建议') {
        row.suggestFlag = true
    //重新获取输入框的焦点
        this.$nextTick(() => {
          this.$refs.input.focus()
        })
      }
    },
    // 输入框失焦事件
    blur(row, column) {
    // 失焦时改变输入框的状态为表格
      if (column.label === '建议') {
        row.suggestFlag = false
      }
    },
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值