vue 自动触发 async 事件

前言:使用umy-ui 的插入行功能,在组件加载时触发新增一行的效果

<!-- 通过设置id的方式触发 -->
<template>
   <div>
     <p>
         <el-button @click="insertEvent()">新增</el-button>
         <el-button @click="insertEvent(-1)">在最后行插入</el-button>
         <el-button @click="getInsertEvent">获取新增</el-button>
         <el-button @click="saveEvent">保存</el-button>
     </p>
      <ux-grid border
                show-overflow
                ref="plxTable"
                :max-height="400"
                :data="tableData"
                :highlightCurrentRow="false"
                :edit-config="{trigger: 'click', mode: 'row'}">
               <ux-table-column type="index" width="80"></ux-table-column>
               <ux-table-column field="name" title="名字" width="140" edit-render>
                 <template v-slot:edit="scope">
                   <el-input v-model="scope.row.name"></el-input>
                 </template>
               </ux-table-column>
               <ux-table-column field="age" title="年龄"  width="160" edit-render>
                 <template v-slot:header="{ column }">
                   <span>{{ column.title }}</span>
                 </template>
                 <template v-slot:edit="{ row }">
                    <el-input
                        v-model="row.age"
                        type="number"
                        placeholder="请输入内容"
                        @input="updateFooterEvent(row.age)"
                        style="width: 100%"></el-input>
                 </template>
               </ux-table-column>
               <ux-table-column field="sex" title="性别" min-width="140" edit-render>
                 <template v-slot:edit="scope">
                   <el-select v-model="scope.row.sex" @change="$refs.plxTable.updateStatus(scope)">
                     <el-option v-for="item in sexList" :key="item.value" :label="item.label" :value="item.value"></el-option>
                   </el-select>
                 </template>
                 <template v-slot="{ row }">{{ getLabel(row.sex) }}</template>
               </ux-table-column>
        </ux-grid>
   </div>
  </template>

methods

// 添加插入行
methods: {
	// 转换男女
	getLabel (val) {
	 const item = this.sexList.filter(item => item['value'] === val)[0]
	 return item ? item.label : ''
	},
	// 添加插入行
	async insertEvent (row) {
	let record = {
	    name: '李四',
	   sex: 'nv',
	   age: 18
	}
	// 加入行, 表示加入行的row对象,row为空则插入第一行,为-1插入最后一行
	let { row: newRow } = await this.$refs.plxTable.insertRow(record, row)
	// 激活单元格编辑
	await this.$refs.plxTable.setActiveRow(newRow)
	},

组件加载时触发

computed:{
	//父组件的函数
    dialogVisible: {
        get () {
        //当组件出现时
         if(this.selectOtherAssets){
            setTimeout(function() {
              var e = document.createEvent("MouseEvents");
              e.initEvent("click", true, true);
              document.getElementById("addan").dispatchEvent(e);
          },1);	
		}
       },
       set (val) {
           this.$emit("update:selectOtherAssets",val);
       },
    }
},
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小狐狸崽子OvO

你的鼓励将是我创造最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值