element-ui 带单选框的表格
效果:不只是带单选框,点击当前行单选框选中状态
网上查了一些发现很多都是只能点击当前radio选中当前行,配合element-ui的单选table时发现两个的选择状态是不一致的,所以调整了一下
效果
提供下思路:
1.保证不止是点击单选框,点击列表某行也能够选中,通过设置highlight-current-row和@current-change="handleCurrentChange"实现
2.radio为单选框的值,选中后为当前行数,翻页后为保证重新选中状态需要重制
3.我的项目里需求是组件化形式,单选框选中值传递给父组件,父组件可能会有默认数据传入,需要在打开时设置点选状态
部门关键代码
<template>
<el-table
:data="tableData"
ref="orderTable"
@current-change="handleCurrentChange"
tooltip-effect="light"
highlight-current-row
:cell-style="cellStyle"
>
<!--
为空,不加这个radio的label会显示index数字,注意从0开始的;radio会全选的问题是label相同导致的
disabled设置单选框是否可以被选择
-->
<el-table-column label="选择" width="50" center>
<template slot-scope="scope">
<el-radio
class="radio"
v-model="radio"
:label="scope.$index"
@change.native="getCurrentRow(scope.$index)"
:disabled="scope.row.Enable==1?false:true">
</el-radio>
</template>
</el-table-column>
</el-table>
<el-pagination
background
layout="total, prev, pager, next"
:current-page.sync="pagination.pageNum"
:page-size="pagination.pageSize"
:total="pagination.total"
@current-change="changePage"
:pager-count="5"
></el-pagination>
</template>
<script>
export default {
data() {
return {
currentRow: null,
radio: false,
tableData: [],
},
porps:{
//父组件传递过来的初始选中值,根据自己项目需求设置
chooseData:{
type:Object
}
},
watch:{
//观察是否有父组件传递的初始值或者变化,重新选中
chooseData(val){
if(val){
this.radio = false
this.getInitChoose()
}
}
},
methods:{
getList() {
this.isListLoading = true;
getTableData().then(res => {
this.tableData = res.item;
//每次数据改变重新判断单选状态
this.getInitChoose();
})
},
//设置单选框选择状态
getInitChoose() {
if (this.chooseData) {
let index = this.tableData.findIndex(
item => item.userUuid == this.chooseData.id
);
if (index > -1) {
this.radio = index;
}
},
//由于翻页后重新获取列表了,需要把选择框选中状态取消
changePage(pageNum) {
this.pagination.pageNum = pageNum;
this.radio = false
this.getList()
},
/* current-change 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性 currentRow, oldCurrentRow */
//保证点击当前行的任意位置不止是单选框也能够选择
handleCurrentChange(val) {
if (val && val.Enable == 1) {
this.currentRow = val;
let index = this.tableData.findIndex(
item => item.userUuid == this.currentRow.userUuid
)
if (index > -1) {
this.radio = index;
}
this.$emit('data',val.pkg)
},
getCurrentRow(index) {
this.radio = index
},
}
}
</script>
element-ui 带单选框的表格的更多相关文章
- element ui table单选框点击全选问题
<template slot-scope="scope"> <el-radio-group v-model="scope.row.HandleState ...
- vue + element ui 实现实现动态渲染表格
前言:之前需要做一个页面,能够通过表名动态渲染出不同的表格,这里记录一下.转载请注明出处:https://www.cnblogs.com/yuxiaole/p/9786326.html 网站地址:我的 ...
- element ui中循环出来的表格勾选问题
需求是这样的,一个房主屋里面有多个电表,每一个表是一个账户,一次只能给一个账户缴费,在点击go按钮进行缴费,这个时候判断是否跨表勾选,跨表格勾选则弹窗提示,反之符合需求,走缴费逻辑 上代码 <! ...
- element ui下拉框如何实现默认选择?
<template> <el-select v-model="value4" clearable placeholder="请选择"> ...
- element ui 下拉框绑定对象并且change传多个参数
废话不说直接上代码说明真相. <template> <div class="hello"> <span>可以设置的属性 value-key=&q ...
- element ui,input框输入时enter健进行搜索
<el-form-item label="企业名称"> <el-input v-model="formSearch.kw" @keyup.en ...
- element ui form表单清空规则
公司项目重构,经过商定使用element ui.在重构项目的时候发现一下element ui上很蛋疼的东西. 例如,这个form表单就是一个.趁着在高铁上没事,把想写的东西写一下. 先说一下eleme ...
- vue2.0 + element ui 实现表格穿梭框
element ui 官网里介绍了穿梭框(Transfer),但在实际使用过程中,会出现一些问题: 1.穿梭框里能放置的内容太少,不能满足复杂的业务需求. 2.当选项过多时,穿梭框很难实现分页,左右两 ...
- 封装一个优雅的element ui表格组件
现在做后台系统用vue + elementUI 的越来越多,那element ui的 el-table 组件肯定也离不开.虽然element ui的table组件很好.但是表格和分页是分离的.每次写表 ...
随机推荐
- C语言 二维数组(指针)动态分配和释放(转)
C 二维数组(指针)动态分配和释放 先明确下概念: 所谓32位处理器就是一次只能处理32位,也就是4个字节的数据,而64位处理器一次就能处理64位,即8个字节的数据.如果我们将总长128位的指令分别按 ...
- jquery遍历table的tr获取td的值
方法一: var siginArray = []; $("#tbody").children("tr").each(function () { var sigi ...
- RedHat如何关闭防火墙 : http://blog.csdn.net/chongxin1/article/details/76072758
版本号:RedHat6.5 JDK1.8 Hadoop2.7.3 hadoop 说明:从版本2开始加入了Yarn这个资源管理器,Yarn并不需要单独安装.只要在机器上安装了JDK就可以直接安 ...
- MySQL 单条记录长度最大65535
今天设计表结构,加了几个字段,结果报错了 Ligne trop grande. Le taille maximale d'une ligne, sauf les BLOBs, est 65535... ...
- Jenkins的详细安装
操作环境:Windows 一.环境准备 1 安装JDK 本文采用jdk-8u111-windows-x64.exe: 2 配置tomcat 本文采用tomcat8,无需安装,配置JAVA_HOME及J ...
- 【maven】之打包war依赖子项目jar
比如 p-common p-core p-dao p-service p-web service项目依赖dao,dao依赖core和common,web依赖service 在使用maven tomca ...
- Java 线程转储 [转]
http://www.oschina.net/translate/java-thread-dump java线程转储 java的线程转储可以被定义为JVM中在某一个给定的时刻运行的所有线程的快照.一个 ...
- zuul网关Filter处理流程及异常处理
本文转载自:https://blog.csdn.net/tianyaleixiaowu/article/details/77893822 上一篇介绍了java网关Zuul的简单使用,进行请求路由转发和 ...
- java设计模式-Observer(2)
一.模拟AWT事件处理 回顾一下JDK里面按下一个Button,有件事发生,这个东西怎么写: package com.cy.dp.observer.awt; import java.awt.Butto ...
- JavaScript之图片操作5
本次的图片操作是要实现模仿天猫淘宝的放大镜效果,如下图所示: 其实现原理其实很简单,主要就是定位的运用,在上面的图中,左边是一个div,它的大小就是左边图片的大小,我们称为左窗口(原图),红色部分我们 ...