动态增加table表格

View UI链接,属性和方法可以去查询

View UI

<Card class="tableCard">
      <jTableCard :text="'本级企业决策'">
        <div slot="tableBtn">
          <jButton
            :type="'primary'"
            :btnIcon="'el-icon-plus'"
            @click.native="addData()"
            >新增</jButton
          >
          <jButton
            :type="'primary'"
            :btnIcon="'el-icon-delete'"
            :disabled="sameDisabled"
            @click.native="remove()"
            >删除</jButton
          >
        </div>
      </jTableCard>
      <Table
        :columns="columns"
        :data="levelList"
        border
        @on-selection-change="sameSeletTableRow"
        max-height="410"
        :class="{ noDataTable: levelList.length == 0 }"
      >
      /*表格的样式,无数据不显示底部的表格,如果不好使,把height去掉*/
        <template slot-scope="{ row, index }" slot="meetDate">
          <DatePicker
            type="date"
            transfer
            v-model="row.meetDate"
            @on-change="sameDateChange(row, index)"
          ></DatePicker>
        </template>
        <template slot-scope="{ row, index }" slot="meetNam">
          <Input
            v-model="row.meetNam"
            placeholder="输入限制100"
            maxlength="30"
            @on-change="sameMeetNamBlur(row, index)"
          ></Input>
        </template>
      </Table>
    </Card>
<script>
export default {
  name: "XXXX",
  props: {

  },
  data() {
    return {
      levelList: [],
      sameDisabled: true, // 删除按钮置灰
      sameDelDataId: [],
      columns: [
      {
          type: "selection",
          width: 70,
          align: "center",
        },
        {
          title: "序号",
          type: "index",
          width: 70,
          align: "center",
        },
        {
          title: "开会时间",
          slot: "meetDate",
          align: "center",
          width: 180,
        },
        {
          title: "会议名称",
          slot: "meetNam",
          align: "center",
          width: 180,
        }
      ],
    };
  },
  created() {},
  mounted() {
    
  },
  methods: {
    addData() {  
   		 // 添加一组数据
   		this.levelList.push({
            xxxNum: uuid(32, 16), // 唯一性编码
            actionCode: 4, // 动作标识、可以不存在根据业务决定
            meetNam: "",
            meetDate: "",
          });
    },
    sameSeletTableRow (row) {
		// 选择要删除的数据
	  if (row.length !== 0) {
        this.sameDisabled = false;
      } else {
        this.sameDisabled = true;
      }
      this.sameDelDataId = [];
      for (let item of row) {
        this.sameDelDataId.push(item.deciInfoNum); // 添加要删除的集合
      }
	},
    remove() {
	   this.$Modal.confirm({
	   title: "您是否确定删除?",
	   onOk: () => {
	     this.sameDelDataId.forEach((v) => {
	           this.levelList.forEach((e, index) => {
	             if (e.deciInfoNum == v) {
	               this.levelList.splice(index, 1);
	               this.sameDisabled = true;
	             }
	           });
	         });
	     }
	   },
	   });
    },
    // 开会时间选择
    sameDateChange(row, index) {
    this.$set(this.levelList[index], "meetDate", row.meetDate);
    },
    // 会议主题填写
    sameMeetNamBlur(row, index) {
      this.$set(this.levelList[index], "meetNam", row.meetNam);
    },
  },
  components: {},
};
</script>
<style scoped>
/*表格的样式,无数据不显示底部的表格*/
.noDataTable >>> .ivu-table-tip {
  display: none;
}
</style>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值