[email protected] 表格

来源:https://www.cnblogs.com/TBNICE/archive/2018/05/18/9054185.html
-Advertisement-
Play Games

<template> <section> <el-row> <el-col:span="16"> <!--表單--> <h3>{{setedList.length}}</h3> <tablecellspacing="0"style="width:100%;"class="table-my"> <th ...


<template>
    <section>
        <el-row>
            <el-col :span="16">
                <!--表單-->
                <h3>{{setedList.length}}</h3>
                <table cellspacing="0" style="width:100%;" class="table-my">
                    <thead>
                        <tr>
                            <th>
                                <el-checkbox v-model="checkedAll" @change="handleCheckedAll">序號</el-checkbox>
                            </th>
                            <th>日期</th>
                            <th>姓名</th>
                            <th>地址</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr v-for="(item,number) in tableData" :key="number" :class="{checked:item.checked}">
                            <td>
                                <el-checkbox v-model="item.checked" @change="handleChecked(item)">
                                    {{number+1}}
                                </el-checkbox>

                            </td>
                            <td>{{item.date}}</td>
                            <td>{{item.name}}</td>
                            <td>{{item.address}}</td>
                        </tr>

                    </tbody>
                </table>

                <div class="block">
                    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-size="5" layout="prev, pager, next, jumper" :total="17">
                    </el-pagination>
                </div>
            </el-col>
            <el-col :span="8">
                <ul style="background:#eee;">
                    <!-- <li v-for="(e,i) in setedList" :key="i"></li> -->
                    <li v-for="(e,i) in setedList" :key="i" style="heighet:90px;background:skyblue;border:1px solid red">
                        <p>{{i+1}}</p>
                        <p style="padding:5px;"><input type="text" v-model="e.name" style="padding:5px;"></p>
                        <p style="padding:5px;"><input type="text" v-model="e.address" style="padding:5px;"></p>
                        <p style="padding:5px;"><input type="text" v-model="e.date" style="padding:5px;"></p>
                    </li>
                </ul>
            </el-col>
        </el-row>
    </section>
</template>
<script type="text/ecmascript-6">
const ERR_OK = "000";
export default {
    data() {
        return {
            checkedAll: false,
            checked: false,
            formInline: {
                user: {
                    name: '',
                    date: '',
                    address: [],
                    place: ''
                }
            },
            tableData: [],
            options: [],
            places: [],
            dialogFormVisible: false,
            editLoading: false,
            form: {
                name: '',
                address: '',
                date: '',
            },
            currentPage: 1,
            table_index: 999,
            setedList: [],
            list: []
        };
    },
    created() {
        this.$http.get('/api/getTable').then((response) => {
            response = response.data;
            if (response.code === ERR_OK) {
                //   this.tableData = response.datas;
                var datas = response.datas;

                for (var index = 0; index < datas.length; index++) {

                    datas[index].checked = false;
                    //   console.log(datas[index].checked)
                }
                this.tableData = datas;

            }
        });
        this.$http.get('/api/getOptions').then((response) => {
            response = response.data;
            if (response.code === ERR_OK) {
                this.options = response.datas;
                this.places = response.places;
            }
        });
    },
    methods: {

        handleCheckedAll() {//-----------全選
            var temp = []
            if (this.checkedAll) {
                this.list = [];
                for (var i = 0; i < this.tableData.length; i++) {
                    this.tableData[i].checked = true;
                    temp.push(this.tableData[i]);
                }
                this.list = temp;
                for (var j = 0; j < temp.length; j++) {
                    for (var k = 0; k < this.setedList.length; k++) {
                        if (temp[j].name == this.setedList[k].name) {
                            temp.splice(j, 1)
                        }
                    }

                }
                for (var l = 0; l < temp.length; l++) {
                    this.setedList.push(temp[l]);
                }

            } else {
                this.list = [];
                for (var i = 0; i < this.tableData.length; i++) {
                    this.tableData[i].checked = false;
                    temp.push(this.tableData[i]);
                }
                for (var j = 0; j < temp.length; j++) {
                    for (var k = 0; k < this.setedList.length; k++) {
                        if (temp[j].name == this.setedList[k].name) {
                            this.setedList.splice(k, 1)
                        }
                    }

                }
            }

        },
        handleChecked(item) {//單選--------------
            if (item.checked) {
                item.checked = true;
                this.setedList.push(item);
            } else {
                item.checked = false;
                if (this.list.length < 2) {
                    this.list = [];
                    for (var j = 0; j < this.setedList.length; j++) {
                        if (item.name == this.setedList[j].name) {
                            this.setedList.splice(j, 1)
                        }
                    }

                } else {

                    for (var j = 0; j < this.setedList.length; j++) {
                        if (item.name == this.setedList[j].name) {
                            this.setedList.splice(j, 1)
                        }
                    }

                }
            }

        },
        handleSizeChange(val) {
            console.log(`每頁 ${val} 條`);
        },
        handleCurrentChange(val) {
            this.currentPage = val;
            console.log(`當前頁: ${val}`);
            this.checkedAll = false;
            console.log(this.list);
            this.$http.get('/api/getTable').then((response) => {
                response = response.data;
                if (response.code === ERR_OK) {
                    var datas = response.datas;
                    for (var index = 0; index < datas.length; index++) {

                        datas[index].checked = false;

                    }
                    this.tableData = datas;

                }
            });
        },


    }
};
</script>
<style lang="less" scoped>
.table-my {
    border-collapse: collapse;
    margin: 0 auto;
    width: 500px;
    th,
    td {
        padding: 0;
        border: 1px solid #c0c4cc;
        font: 20px/50px "微軟雅黑";
        text-align: center;
    }
    .checked{
        background: skyblue;
    }
}
</style>

 

<template> <section> <el-row> <el-col:span="16"> <!--表單--> <h3>{{setedList.length}}</h3> <tablecellspacing="0"style="width:100%;"class="table-my"> <thead> <tr> <th> <el-checkboxv-model="checkedAll"@change="handleCheckedAll">序號</el-checkbox> </th> <th>日期</th> <th>姓名</th> <th>地址</th> </tr> </thead> <tbody> <trv-for="(item,number) intableData":key="number":class="{checked:item.checked}"> <td> <el-checkboxv-model="item.checked"@change="handleChecked(item)"> {{number+1}} </el-checkbox>
</td> <td>{{item.date}}</td> <td>{{item.name}}</td> <td>{{item.address}}</td> </tr>
</tbody> </table>
<divclass="block"> <el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="currentPage":page-size="5"layout="prev, pager, next, jumper":total="17"> </el-pagination> </div> </el-col> <el-col:span="8"> <ulstyle="background:#eee;"> <!-- <li v-for="(e,i) in setedList" :key="i"></li> --> <liv-for="(e,i) insetedList":key="i"style="heighet:90px;background:skyblue;border:1px solid red"> <p>{{i+1}}</p> <pstyle="padding:5px;"><inputtype="text"v-model="e.name"style="padding:5px;"></p> <pstyle="padding:5px;"><inputtype="text"v-model="e.address"style="padding:5px;"></p> <pstyle="padding:5px;"><inputtype="text"v-model="e.date"style="padding:5px;"></p> </li> </ul> </el-col> </el-row> </section> </template> <script type="text/ecmascript-6"> const ERR_OK = "000"; export default { data() { return { checkedAll: false, checked: false, formInline: { user: { name: '', date: '', address: [], place: '' } }, tableData: [], options: [], places: [], dialogFormVisible: false, editLoading: false, form: { name: '', address: '', date: '', }, currentPage: 1, table_index: 999, setedList: [], list: [] }; }, created() { this.$http.get('/api/getTable').then((response) => { response = response.data; if (response.code === ERR_OK) { // this.tableData = response.datas; var datas = response.datas;
for (var index = 0; index < datas.length; index++) {
datas[index].checked = false; // console.log(datas[index].checked) } this.tableData = datas;
} }); this.$http.get('/api/getOptions').then((response) => { response = response.data; if (response.code === ERR_OK) { this.options = response.datas; this.places = response.places; } }); }, methods: {
handleCheckedAll() {//-----------全選 var temp = [] if (this.checkedAll) { this.list = []; for (var i = 0; i < this.tableData.length; i++) { this.tableData[i].checked = true; temp.push(this.tableData[i]); } this.list = temp; for (var j = 0; j < temp.length; j++) { for (var k = 0; k < this.setedList.length; k++) { if (temp[j].name == this.setedList[k].name) { temp.splice(j, 1) } }
} for (var l = 0; l < temp.length; l++) { this.setedList.push(temp[l]); }
} else { this.list = []; for (var i = 0; i < this.tableData.length; i++) { this.tableData[i].checked = false; temp.push(this.tableData[i]); } for (var j = 0; j < temp.length; j++) { for (var k = 0; k < this.setedList.length; k++) { if (temp[j].name == this.setedList[k].name) { this.setedList.splice(k, 1) } }
} }
}, handleChecked(item) {//單選-------------- if (item.checked) { item.checked = true; this.setedList.push(item); } else { item.checked = false; if (this.list.length < 2) { this.list = []; for (var j = 0; j < this.setedList.length; j++) { if (item.name == this.setedList[j].name) { this.setedList.splice(j, 1) } }
} else {
for (var j = 0; j < this.setedList.length; j++) { if (item.name == this.setedList[j].name) { this.setedList.splice(j, 1) } }
} }
}, handleSizeChange(val) { console.log(`每頁 ${val} 條`); }, handleCurrentChange(val) { this.currentPage = val; console.log(`當前頁: ${val}`); this.checkedAll = false; console.log(this.list); this.$http.get('/api/getTable').then((response) => { response = response.data; if (response.code === ERR_OK) { var datas = response.datas; for (var index = 0; index < datas.length; index++) {
datas[index].checked = false;
} this.tableData = datas;
} }); },

} }; </script> <style lang="less" scoped> .table-my { border-collapse: collapse; margin: 0 auto; width: 500px; th, td { padding: 0; border: 1px solid #c0c4cc; font: 20px/50px "微軟雅黑"; text-align: center; } .checked{ background: skyblue; } } </style>
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 下載並解壓 1. 從官方網站下載最新安裝包 2. 解壓到目標安裝目錄 新建配置文件 1. 在安裝目錄新建my.ini文件 2. 添加如下內容(需修改為自己的配置) 啟動服務 1. 使用命令行模式,跳轉到安裝目錄下的bin目錄 2. 執行安裝命令:mysqld install 3. 執行啟動命令:ne ...
  • 轉載:http://www.cnblogs.com/loveis715/p/5277051.html 最近我在用圖形資料庫來完成對一個初創項目的支持。在使用過程中覺得這種圖形資料庫實際上挺有意思的。因此在這裡給大家做一個簡單的介紹。 NoSQL資料庫相信大家都聽說過。它們常常可以用來處理傳統的關係型 ...
  • 一、知識介紹 1、ContentProvider是內容提供者 ContentResolver是內容解決者(對內容提供的數據進行操作) ContentObserver是內容觀察者(觀察內容提供者提供的數據變化) 2、ContentObserver需要ContentResolver進行註冊。 resol ...
  • 利用Android Studio創建完第一個Hello World項目後,我們會看到使用project模式的項目結構。 一、.gradle和.idea 這兩個目錄放置的是Android Studio自動生成的一些文件。 二、build 主要包含了一些在編譯時自動生成的一些文件。 三、gradle 包 ...
  • 一、Android系統版本簡介 Android操作系統已占據了手機操作系統的大半壁江山,截至本文寫作時,Android操作系統系統版本及其詳細信息,已發生了變化,具體信息見下表,當然也可以訪問https://developer.android.google.cn/about/dashboards/查 ...
  • 最近關於漸進式Web應用有好多討論,有一些人還在質疑漸進式Web應用是否就是移動端未來。 但在這篇文章中我並不會將漸進式APP和原生的APP進行比較,但有一點是可以肯定的,這兩種APP的目標都是使用戶體驗變得更好。 移動端Web應用有很多優秀的概念讓人應接不暇,但好在編寫一個漸進式Web應用不是一個 ...
  • *http://html5doctor.com/nav*http://html5doctor.com/article*http://html5doctor.com/section*http://html5doctor.com/asidehttp://html5doctor.com/divhttp:/ ...
  • var arr = new Array({"name": "wxx", "age": 2}, {"name": "wyw", "age": 6});var index = arr.findIndex(function(item) { return item.name "wyw";});console ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...