ant design for vue table表格添加编辑单元格功能

EditableCell组件页面

<template>
  <div class="editable-cell">
    <div v-if="editable" class="editable-cell-input-wrapper">
      <a-input :value="value" @change="handleChange" @pressEnter="check" /><a-icon
        type="check"
        class="editable-cell-icon-check"
        @click="check"
      />
    </div>
    <div v-else class="editable-cell-text-wrapper">
      {{ value || ' ' }}
      <a-icon type="edit" class="editable-cell-icon" @click="edit" />
    </div>
  </div>
</template>
<script>
export default {
  name: 'EditableCell',
  props: {
    text: [String, Number, null],
  },
  watch: {
    text(newV, oldV) {
      this.$set(this, 'value', newV)
    },
  },
  data() {
    return {
      value: this.text,
      editable: false,
    }
  },
  methods: {
    handleChange(e) {
      const value = e.target.value
      this.value = value
    },
    check() {
      this.editable = false
      this.$emit('change', this.value)
    },
    edit() {
      this.editable = true
    },
  },
}
</script>

table表格页面

<template>
    <a-table> // 一些属性table的操作和属性已忽略
        <template slot="aaaa" slot-scope="text,">
            <editable-cell :text="text" @change="onCellChange($event, record, 'materialDesc')"/>
        </template>
    </a-table>
</template>
<script>
import EditableCell from './components/EditableCell'
export default {
    components:{ EditableCell }
    methods:{
        onCellChange(value,record,dataIndex){
            console.log(value)
            console.log(record)
            console.log(dataIndex)
        }
    }
}
</script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值