欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中Element的table多選表格如何實現(xiàn)單選

 更新時間:2022年07月28日 09:27:28   作者:小火車況且況且  
這篇文章主要介紹了Vue中Element的table多選表格如何實現(xiàn)單選,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Element的table多選表格實現(xiàn)單選

效果圖

1.在多選表格的基礎(chǔ)上進行處理, 呈現(xiàn)單選表格的作用

2.主要使用的是ElementUI多選表格中的方法 鏈接

  • 2.1 select 事件 當(dāng)用戶手動勾選數(shù)據(jù)行的 Checkbox 時觸發(fā)的事件 參數(shù)selection, row
  • 2.2 row-click 事件 當(dāng)某一行被點擊時會觸發(fā)該事件 參數(shù) row, column, event
  • 2.3 selection-change 事件 當(dāng)選擇項發(fā)生變化時會觸發(fā)該事件 參數(shù) selection
  • 2.4 clearSelection 方法 用于多選表格,清空用戶的選擇
  • 2.5 toggleRowSelection 方法 用于多選表格,切換某一行的選中狀態(tài),如果使用了第二個參數(shù),則是設(shè)置這一行選中與否(selected 為 true 則選中) 參數(shù)row, selected

3.html代碼

<el-table
    ref="multipleTable"
    :data="inputRemoteTable"
    :header-cell-style="{background:'#eef1f6',color:'#909399'}"
    border
    style="width: 100%"
    fixed
    v-loading="InputDialogLoading"
    @select="select"
    @row-click="rowClick"
    @selection-change="selectionChange"
    stripe>
        <el-table-column
            type="selection"
            width="55">
        </el-table-column>
        <el-table-column
            prop="label"
            label="中文名"
            >
        </el-table-column>
        <el-table-column
            prop="value"
            label="代碼"
            >
        </el-table-column>
</el-table>

4.js 代碼

select方法主要用于當(dāng)用戶勾選時, 清除掉之前的勾選項

select(selection, row) {
	// 清除 所有勾選項
	this.$refs.multipleTable.clearSelection()
	// 當(dāng)表格數(shù)據(jù)都沒有被勾選的時候 就返回
	// 主要用于將當(dāng)前勾選的表格狀態(tài)清除
	if(selection.length == 0) return 
	this.$refs.multipleTable.toggleRowSelection(row, true);
},
// 表格的選中 可以獲得當(dāng)前選中的數(shù)據(jù)
selectionChange(val) {
	// 將選中的數(shù)據(jù)存儲起來
    this.selectData = val
},
// 表格某一行的單擊事件
rowClick(row, column) {
    const selectData = this.selectData
    this.$refs.multipleTable.clearSelection()
    if( selectData.length == 1 ) {
        selectData.forEach(item => {
        	// 判斷 如果當(dāng)前的一行被勾選, 再次點擊的時候就會取消選中
            if (item == row) {
                this.$refs.multipleTable.toggleRowSelection(row, false);
            }
            // 不然就讓當(dāng)前的一行勾選
            else {
                this.$refs.multipleTable.toggleRowSelection(row, true);
            }
        })
    } 
    else {
        this.$refs.multipleTable.toggleRowSelection(row, true);
    }
},

vue table單選邏輯

table表格有時需要在每行前面添加一列實現(xiàn)可勾選對應(yīng)行的狀態(tài),table默認(rèn)是多選的邏輯,如果需要實現(xiàn)單選,需要結(jié)合table封裝好的一些方法和事件

html部分:

? <el-table
? ? ? ? ? ? ref="multipleTable"
? ? ? ? ? ? :data="tableData"
? ? ? ? ? ? highlight-current-row
? ? ? ? ? ? @select-all="onSelectAll"
? ? ? ? ? ? @selection-change="selectItem"
? ? ? ? ? ? @row-click="onSelectOp"
? ? ? ? ? >
? ? ? ? ? ? <el-table-column type="selection" width="55" align="center" />
? ? ? ? ? ? <el-table-column label="序號" type="index" align="center" />
? ? ? ? ? ? <el-table-column label="姓名" prop="name" align="center" />
? ? ? ? ? ? <el-table-column label="手機號碼" prop="telephone" align="center" />
? ? ? ? ? </el-table>

js部分:

?methods: {
? ? onSelectAll() {
? ? ? this.$refs.multipleTable.clearSelection();
? ? },
? ? selectItem(rows) {
? ? ? if (rows.length > 1) {
? ? ? ? const newRows = rows.filter((it, index) => {
? ? ? ? ? if (index == rows.length - 1) {
? ? ? ? ? ? this.$refs.multipleTable.toggleRowSelection(it, true);
? ? ? ? ? ? return true;
? ? ? ? ? } else {
? ? ? ? ? ? this.$refs.multipleTable.toggleRowSelection(it, false);
? ? ? ? ? ? return false;
? ? ? ? ? }
? ? ? ? });
? ? ? ? this.multipleSelection = newRows;
? ? ? } else {
? ? ? ? this.multipleSelection = rows;
? ? ? }
? ? ? this.userId = this.multipleSelection.length
? ? ? ? ? this.multipleSelection[0].guid
? ? ? ? : "";
? ? },
? ? onSelectOp(row) {
? ? ? this.$refs.multipleTable.clearSelection();
? ? ? this.$refs.multipleTable.toggleRowSelection(row, true);
? ? ? this.multipleSelection = [];
? ? ? this.multipleSelection.push(row);
? ? },
?
? ? handleCheckChange(data, checked, indeterminate) {
? ? ? if (checked) {
? ? ? ? this.$refs.dataTree.setCheckedKeys([data.lobbyCode]);
? ? ? }
? ? },
}

multipleSelection變量用于保存用戶當(dāng)前勾選的選項

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
 

相關(guān)文章

  • uniapp+vue3路由跳轉(zhuǎn)傳參的實現(xiàn)

    uniapp+vue3路由跳轉(zhuǎn)傳參的實現(xiàn)

    本文主要介紹了uniapp+vue3路由跳轉(zhuǎn)傳參的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • vue實現(xiàn)勻速輪播效果

    vue實現(xiàn)勻速輪播效果

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)勻速輪播效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • vue實現(xiàn)路由切換改變title功能

    vue實現(xiàn)路由切換改變title功能

    這篇文章主要介紹了vue實現(xiàn)路由切換改變title功能,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • vue中$refs, $emit, $on, $once, $off的使用詳解

    vue中$refs, $emit, $on, $once, $off的使用詳解

    這篇文章主要介紹了vue中$refs, $emit, $on, $once, $off的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 如何利用vue實現(xiàn)css過渡和動畫

    如何利用vue實現(xiàn)css過渡和動畫

    過渡Vue在插入、更新或者移除 DOM 時,提供多種不同方式的應(yīng)用過渡效果這篇文章主要給大家介紹了關(guān)于如何利用vue實現(xiàn)css過渡和動畫的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • Vue 的 v-model用法實例

    Vue 的 v-model用法實例

    這篇文章主要介紹了Vue 的 v-model用法實例,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-11-11
  • Vue Element-ui 鍵盤事件失效的解決

    Vue Element-ui 鍵盤事件失效的解決

    這篇文章主要介紹了Vue Element-ui 鍵盤事件失效的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • npm如何更新VUE package.json文件中依賴的包版本

    npm如何更新VUE package.json文件中依賴的包版本

    這篇文章主要介紹了npm如何更新VUE package.json文件中依賴的包版本問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue項目本地開發(fā)使用Nginx配置代理后端接口問題

    vue項目本地開發(fā)使用Nginx配置代理后端接口問題

    這篇文章主要介紹了vue項目本地開發(fā)使用Nginx配置代理后端接口問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 圖文詳解vue框架安裝步驟

    圖文詳解vue框架安裝步驟

    我們在本篇內(nèi)容里給大家整理了關(guān)于vue框架安裝的步驟以及需要注意的地方,有需要的朋友們學(xué)習(xí)下。
    2019-02-02

最新評論