<template>
<div class="block">
<el-form :model="formData" ref="formData">
<el-table :data="formData.tableData" border stripe style="width: 100%;">
<el-table-column prop="name" label="姓名">
<template slot-scope="scope">
<el-form-item v-if="scope.row.edit" :prop="'tableData.' + scope.$index + '.name'" :rules='rules.name'>
<el-input v-model="scope.row.name" placeholder="姓名"></el-input>
</el-form-item>
<span v-else>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column prop="sex" label="性別">
<template slot-scope="scope">
<el-form-item v-if="scope.row.edit" :prop="'tableData.' + scope.$index + '.sex'" :rules='rules.sex'>
<el-select v-model="scope.row.sex" placeholder="請選擇">
<el-option label="男" value="1">男</el-option>
<el-option label="女" value="2">女</el-option>
</el-select>
</el-form-item>
<span v-else>
<p v-if="scope.row.sex==1">男</p>
<p v-if="scope.row.sex==2">女</p>
</span>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button v-if="scope.row.edit" type="text" size="medium" @click="confirmAdd(scope.row,'formData')">
<i class="el-icon-check" aria-hidden="true"></i>
</el-button>
<div v-else>
<el-button type="text" size="medium" @click="editData(scope.row)">
<i class="el-icon-edit" aria-hidden="true"></i>
</el-button>
<el-button type="text" size="medium" @click="deleteData(scope.row,scope.$index)">
<i class="el-icon-delete" aria-hidden="true"></i>
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-form>
<el-button type="text" @click="addData">添加數(shù)據(jù)</el-button>
<el-divider></el-divider>
<el-button @click="submitData('formData')">提交 </el-button>
</div>
</template>
<script>
export default {
// https://blog.csdn.net/weixin_43753330/article/details/89963135
name: "demo",
data() {
return {
formData: {
tableData: [],
},
rules: {
name: {
required: true,
message: '請輸入名字',
},
sex: {
required: true,
message: '請選擇性別',
},
},
}
},
methods: {
//添加
addData() {
this.formData.tableData.push({
edit: true,
});
},
//確認添加
confirmAdd(row, formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
row.edit = false;
}
})
},
//修改
editData(row) {
row.edit = true;
},
//刪除
deleteData(row, index) {
this.formData.tableData.splice(index, 1);
},
submitData(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
let data = this.formData.tableData;
console.log
alert(JSON.stringify(data))
}
})
}
}
}
</script>
vue表格添加輸入框,帶驗證,新增刪除
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門榴鼎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人晚唇,你說我怎么就攤上這事巫财。” “怎么了哩陕?”我有些...
- 文/不壞的土叔 我叫張陵平项,是天一觀的道長。 經(jīng)常有香客問我萌踱,道長葵礼,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任并鸵,我火速辦了婚禮鸳粉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘园担。我一直安慰自己届谈,他們只是感情好,可當我...
- 文/花漫 我一把揭開白布弯汰。 她就那樣靜靜地躺著艰山,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咏闪。 梳的紋絲不亂的頭發(fā)上曙搬,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挽唉!你這毒婦竟也來了滤祖?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布,位于F島的核電站格二,受9級特大地震影響劈彪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜顶猜,卻給世界環(huán)境...
- 文/蒙蒙 一沧奴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧长窄,春花似錦滔吠、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嚣潜,卻和暖如春冬骚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 時隔一年再次接觸vue驾胆,并完整的實現(xiàn)了一個簡單的demo,想想去年暑假自己學的東西都變得非常非常的陌生贱呐,仿佛就沒有...
- 首先將基本的DOM內(nèi)容寫出丧诺,再進行JS的相關(guān)操作 HTML與CSS樣式內(nèi)容寫完后,我們來寫js內(nèi)容奄薇,如果要將js內(nèi)...
- 1.控制輸入位數(shù) 限制輸入為10位,這種方式可以使輸入框中輸入10位后不能輸入后續(xù)內(nèi)容因為number輸入框自動將...