<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- 引入樣式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<style>
* {
margin: 0;
padding: 0
}
body {
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
overflow: auto;
font-weight: 400;
-webkit-font-smoothing: antialiased;
}
.tb-edit .el-input {
display: none
}
.tb-edit .current-row .el-input {
display: block
}
.tb-edit .current-row .el-input+span {
display: none
}
</style>
</head>
<body>
<div id="app">
<el-table :data="tableData" class="tb-edit" style="width: 100%" highlight-current-row @row-click="handleCurrentChange">
<el-table-column label="日期" width="180">
<template scope="scope">
<el-input size="small" v-model="scope.row.date" placeholder="請輸入內容" @change="handleEdit(scope.$index, scope.row)"></el-input> <span>{{scope.row.date}}</span>
</template>
</el-table-column>
<el-table-column label="姓名" width="180">
<template scope="scope">
<el-input size="small" v-model="scope.row.name" placeholder="請輸入內容" @change="handleEdit(scope.$index, scope.row)"></el-input> <span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column prop="address" label="地址">
<template scope="scope">
<el-input size="small" v-model="scope.row.address" placeholder="請輸入內容" @change="handleEdit(scope.$index, scope.row)"></el-input> <span>{{scope.row.address}}</span>
</template>
</el-table-column>
<el-table-column label="操作">
<template scope="scope">
<!--<el-button size="small" @click="handleEdit(scope.$index, scope.row)">編輯</el-button>-->
<el-button size="small" type="danger" @click="handleDelete(scope.$index, scope.row)">刪除</el-button>
</template>
</el-table-column>
</el-table>
<br>資料:{{tableData}}</div>
</body>
<!-- 引入vue -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- 引入元件庫 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
var app = new Vue({
el: '#app',
data: {
tableData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市楊浦區政立路 1321 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市楊浦區政立路 1322 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市楊浦區政立路 1323 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市楊浦區政立路 1324 弄'
}]
},
methods: {
handleCurrentChange(row, event, column) {
console.log(row, event, column, event.currentTarget)
},
handleEdit(index, row) {
console.log(index, row);
},
handleDelete(index, row) {
console.log(index, row);
}
}
});
</script>
</html>
複製程式碼
VUE+Element UI實現簡單的表格行內編輯效果
*原理是通過CSS控制繫結的輸入控制元件與顯示值,在選中行樣式下對控制元件進行隱藏或顯示
相關文章
- element-ui table 行內編輯UI
- Vue+Element UI實現CRUDVueUI
- 簡單的低開編輯器(三):實現元件畫布內拖拽元件
- vue element ui 簡單表格下鑽邏輯淺記VueUI
- element-ui 的表格裡面使用 el-popover 實現編輯彈層功能UI
- vue+iview 實現可編輯表格VueView
- vue中elementUI的表格實現自定義編輯VueUI
- 實現一個簡單的在瀏覽器執行Dotnet編輯器瀏覽器
- element-ui table表格元件實現手風琴效果UI元件
- 簡單的低開編輯器(二):實現元件拖拽元件
- (精華)2020年7月18日 vue element-ui實現表格可編輯VueUI
- 簡單的文字編輯
- ElementUI表格行編輯單元格編輯支援(輸入框,選擇框)DemoUI
- Flutter實現簡單爆炸效果Flutter
- SAP CRM WebClient UI表格編輯模式的除錯明細WebclientUI模式除錯
- 小程式簡單實現表格佈局
- 非常簡單的匯出 CSV 表格邏輯
- 【CSS】實現10種簡單的loading效果CSS
- androidTextView實現簡單的跑馬燈效果AndroidTextView
- 九、Vue+Element使用富文字編輯器Vue
- 前端動畫效果實現的簡單比較前端動畫
- 超簡單整合!手把手教你實現音訊編輯能力音訊
- vxe-table grid 分享實現單元格編輯表格表尾合計實時計算
- Flutter視訊編輯軌道 | 自定義View實現UI互動效果 | 觸控事件處理FlutterViewUI事件
- html實現簡單ListViews效果的例項程式碼HTMLView
- WPF DataGrid實現單擊單元格直接編輯
- element UI 表格單擊行時選中該行 checkBoxUI
- JavaScript實用的表格行滑鼠點選高亮效果JavaScript
- CompleteFuture實現簡單的任務編排實踐
- 使用JS實現一個簡單的選項卡效果JS
- 簡單實現一個全面屏切換效果
- 實現一個簡單的 JavaScript 編譯器JavaScript編譯
- 用natapp簡單實現內網穿透APP內網穿透
- 基於JQuery的自定義樹形選單表格,實現展開、收起效果jQuery
- jQuery實現的表格展開伸縮效果例項jQuery
- 實現簡單的csv檔案上傳和bootstrap表格的下載boot
- Unity 高清渲染管線 ShaderGraph 實現簡單的表面水流效果Unity
- 利用回撥函式實現簡單的輪播圖效果函式