element table radio 单选表格实现

在这里插入图片描述

实际效果可以自行复制下面代码查看
后续可以自己封装成 table 组件

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
    <title>element-ui单选表格行</title>
    <meta name="description" content="test">
    <meta name="Keywords" content="test">
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <link href="https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel="stylesheet" type="text/css">
</head>
<body>
    <div id="app">
        <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" @row-click="showRow" @current-change="handleCurrentChange" highlight-current-row >
            <el-table-column width="50">
                <template slot-scope="scope">
                    <el-radio v-model="radio" :label="scope.$index">&nbsp;</el-radio>
                </template>
            </el-table-column>
            <el-table-column prop="name" label="姓名" width="120">
            </el-table-column>
            <el-table-column prop="mobileNumber" label="电话号码" width="120">
            </el-table-column>
            <el-table-column prop="address" label="地址" show-overflow-tooltip>
            </el-table-column>
        </el-table>
    </div>
		<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
		<script src="https://unpkg.com/element-ui/lib/index.js"></script>
    <script type="text/javascript">
        let vm = new Vue({
            el: '#app',
            data() {
                return {
                    radio: '',
                    tableData: [{
                        radioId: '0',
                        name: 'lokka',
                        mobileNumber: '11111111111111111',
                        address: '北京市朝阳区十里堡 123 号'
                    }, {
                        radioId: '1',
                        name: 'lokka',
                        mobileNumber: '11111111111111111',
                        address: '北京市朝阳区十里堡 123 号'
                    }, {
                        radioId: '2',
                        name: 'lokka',
                        mobileNumber: '11111111111111111',
                        address: '北京市朝阳区十里堡 123 号'
                    }, {
                        radioId: '3',
                        name: 'lokka',
                        mobileNumber: '11111111111111111',
                        address: '北京市朝阳区十里堡 123 号'
                    }, {
                        radioId: '4',
                        name: 'lokka',
                        mobileNumber: '11111111111111111',
                        address: '北京市朝阳区十里堡 123 号'
                    }, {
                        radioId: '5',
                        name: 'lokka',
                        mobileNumber: '11111111111111111',
                        address: '北京市朝阳区十里堡 123 号'
                    }, {
                        radioId: '6',
                        name: 'lokka',
                        mobileNumber: '11111111111111111',
                        address: '北京市朝阳区十里堡 123 号'
                    }]
                }
            },

            methods: {
                showRow(row) {
                    //赋值给radio
                    this.radio = this.tableData.indexOf(row)
                    console.log(this.tableData.indexOf(row))
                },
                getCurrentRow(val) {
                    console.log(val)
                },
                handleCurrentChange(currentRow, oldCurrentRow){
                    console.log(currentRow)
                    this.currentRow = currentRow
                    this.getCurrentRow(this.tableData.indexOf(currentRow))
                }
            }
        });
    </script>
</body>

</html>
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值