zoukankan      html  css  js  c++  java
  • element-ui使用Radio单选表格行

    功能示例地址:

    http://vscss.com/vue/1.html

    http://vscss.com/vue/2.html

    功能代码:

    <!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">
        <style type="text/css">
            
        </style>
    </head>
    
    <body>
        <div id="app">
            <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style=" 100%" @row-click="showRow" @current-change="handleCurrentChange" highlight-current-row >
                <el-table-column width="50">
                    <template scope="scope">
                        <!-- <el-radio v-model="radio" :label="scope.$index" @change.native="getCurrentRow(scope.$index)">&nbsp;</el-radio> -->
                        <el-radio v-model="radio" :label="scope.$index">&nbsp;</el-radio>
                    </template>
                </el-table-column>
                <el-table-column label="日期" width="120">
                    <template slot-scope="scope">{{ scope.row.date }}</template>
                </el-table-column>
                <el-table-column prop="name" 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"></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: [{
                            date: '2016-05-03',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-02',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-04',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-01',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-08',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-06',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-07',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }]
                    }
                },
    
                methods: {
                    showRow(row) {
                        //赋值给radio
                        this.radio = 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>
    <!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>test</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">
        <style type="text/css">
        </style>
    </head>
    
    <body>
        <div id="app">
            <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style=" 100%" @current-change="handleCurrentChange"
                highlight-current-row>
                <el-table-column width="50">
                    <template scope="scope">
                        <el-checkbox-group v-model="checkedLists" @change="handleCheckedChange">
                        <!-- <el-checkbox-group v-model="checkedLists"> -->
                            <el-checkbox :label="scope.$index" name="type">&nbsp;</el-checkbox>
                        </<el-checkbox-group>
                    </template>
                </el-table-column>
                <el-table-column label="日期" width="120">
                    <template slot-scope="scope">{{ scope.row.date }}</template>
                </el-table-column>
                <el-table-column prop="name" 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"></script>
        <script src="https://unpkg.com/element-ui/lib/index.js"></script>
        <script type="text/javascript">
            let vm = new Vue({
                el: '#app',
                data() {
                    return {
                        checkedLists: [],
                        tableData: [{
                            date: '2016-05-03',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-02',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-04',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-01',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-08',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-06',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }, {
                            date: '2016-05-07',
                            name: '王小虎',
                            address: '上海市普陀区金沙江路 1518 弄'
                        }]
                    }
                },
    
                methods: {
                    handleCheckedChange(value) {
                        if (value.length > 1) {
                            this.checkedLists = [];
                            value.shift();
                            console.log(value);
                            this.checkedLists.push(value[0]);
                        }
                    },
                    getCurrentRow(val) {
                        console.log(val);
                        this.checkedLists = [];
                        this.checkedLists.push(val);
                    },
                    handleCurrentChange(currentRow, oldCurrentRow) {
                        console.log(currentRow);
                        this.currentRow = currentRow;
                        this.getCurrentRow(this.tableData.indexOf(currentRow));
                    }
                }
            });
        </script>
    </body>
    
    </html>
  • 相关阅读:
    spring的工厂类
    spring的基于XML方式的属性注入
    github上传大于100M的文件报错
    fatal: HttpRequestException encountered
    VAR 学习笔记3
    You are my great sunshine
    warning: LF will be replaced by CRLF in
    术语词汇
    XGBoost学习笔记2
    四大基本算法思想
  • 原文地址:https://www.cnblogs.com/vscss/p/9150243.html
Copyright © 2011-2022 走看看