
首先:table绑定点击行事件 @row-click="rowClick"
绑定复选框勾选事件 @select="handleSelectionChange"
1、点击行多选
2、点击行单选
3、table复选框单选 点击复选框单选效果记录选中数据
4、table复选框多选 点击复选框多选效果 记录选中数据
如果还涉及到复选框默认勾选,默认禁用等效果。
可查看我的上篇笔记~
在element+vue项目中,需求要表格内已有数据,点击新增在首行添加一行带输入框内容table的数据为datas=[],那么下面是一列的数据,多列可循环或复制
<el-table-column
prop="name"
label="件号"
sortable
show-overflow-tooltip:
true
align="center"
width="180"
>
<template slot-scope="scope">
<template
v-if="scope.row.show"
>
<el-form-item
label=" "
prop="name"
>
<el-input
v-model="ruleForm.name"
disabled="true"
size="mini"
>
<i
slot="suffix"
class="el-input__icon el-icon-search"
@click="Partnum"
/>
</el-input>
</el-form-item>
</template>
<template v-else>
<span @click="partNumber(scope.$index, scope.row)">{{ scope.row.name }}</span>
</template>
</template>
</el-table-column>
这思路主要是template里面还有2个template,在data数组的 *** 作中每条加一个属性show来控制是显示输入框还是里面的某个字段,
addBtn () {// 添加按钮事件
let data = { show: true }
this.datasNew.unshift(data)
},
同思路可自定义添加各种属性给表格做相应 *** 作。
最近工作遇到一个需求,就是需要在一个输入框里面输入多个报关单号,用逗号隔开,但是如果直接让用户在一个输入框输入的话,用户可能会随便填写,也不方便校验,所以就改成了如下图所示实现方式,点开出现一个d框,d框里面有一个固定的输入框,后面显示一个加号按钮,通过点击加号按钮,可以动态的添加多个输入框,当点击确定按钮关闭d框的时候,通过前端处理,会把这几个d框里面输入的内容用逗号拼接之后,放入到最外层的输入框内。回显数据也是一样的道理,把输入框内用逗号拼接的数据拆分到d框里面,下面就介绍具体实现。
1.实现报关单输入框后面那个放大镜
2.定义一个ruleTBForm
3.写一个d框,通过v-for动态往里面加入输入框
4.实现handleCustoms方法,这个方法主要用来回显数据,把输入框内用逗号拼接的数据拆分到d框里面
5.实现加号按钮的addItem方法,删除按钮(垃圾桶图标)的deleteItem方法,并且通过逗号将几个输入框的值拼接起来
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)