【教程】vue加element -ui實(shí)現(xiàn)表格增刪改功能

vue+elenent-ui+vuex實(shí)現(xiàn)增刪改功能

這是一個(gè)簡(jiǎn)單的增加叉橱、刪除窃祝、修改功能的表格

新人報(bào)道 如果那里寫的不對(duì)請(qǐng)見(jiàn)諒( ? ?ω?? )?

效果圖:


增加功能


編輯功能:

刪除功能:

安裝vue和vuex的過(guò)程我就不寫啦 大家肯定都會(huì)? 如果不會(huì)的去官網(wǎng)查一下【vue官網(wǎng)

下面我要開始啦(〃'▽'〃)

【element-ui官網(wǎng)】

1、安裝element-ui? ? **npm i element-ui -S**

2糕再、在min.js中引入css和組件庫(kù)?這里我全部引入了 也可按需引入

(1)import 'element-ui/lib/theme-chalk/index.css'

(2)import ElementUI from 'element-ui';

(3)Vue.use(ElementUI);

3、新建一個(gè)頁(yè)面代碼如下:

<!--增刪改查-->

? <div>

? ? <div style="font-size: 30px;color: salmon">表格案例</div>

? ? <!--按鈕、表格-->

? ? <el-card class="box-card">

? ? ? <el-button type="success" size="small" @click="add">增加</el-button>

? ? ? <el-table :data="tableData" stripe>

? ? ? ? <el-table-column prop="date" label="日期" align="center">

? ? ? ? </el-table-column>

? ? ? ? <el-table-column prop="name" label="姓名" align="center">

? ? ? ? </el-table-column>

? ? ? ? <el-table-column prop="address" label="地址" align="center">

? ? ? ? </el-table-column>

? ? ? ? <el-table-column prop="age" label="年齡" align="center">

? ? ? ? </el-table-column>

? ? ? ? <el-table-column label="操作" fixed="right" align="center">

? ? ? ? ? <template slot-scope="scope">

? ? ? ? ? ? <el-button type="primary" size="small" @click="handleEdit(scope.$index, scope.row)">編輯</el-button>

? ? ? ? ? ? <el-button type="danger" size="small" @click="remove(scope.$index, scope.row)">刪除</el-button>

? ? ? ? ? </template>

? ? ? ? </el-table-column>

? ? ? </el-table>

? ? </el-card>

? ? <!--彈窗-->

? ? <el-dialog :title="dialogTitle" width="50%" :visible.sync="iconFormVisible">

? ? ? <el-form :inline="true" :model="userInfo" class="demo-form-inline">

? ? ? ? <el-form-item label="姓名">

? ? ? ? ? <el-input v-model="userInfo.name" placeholder="姓名"></el-input>

? ? ? ? </el-form-item>

? ? ? ? <el-form-item label="日期">

? ? ? ? ? <el-input v-model="userInfo.date" placeholder="日期"></el-input>

? ? ? ? </el-form-item>

? ? ? ? <el-form-item label="地址">

? ? ? ? ? <el-input v-model="userInfo.address" placeholder="地址"></el-input>

? ? ? ? </el-form-item>

? ? ? ? <el-form-item label="年齡">

? ? ? ? ? <el-input v-model="userInfo.age" placeholder="年齡"></el-input>

? ? ? ? </el-form-item>

? ? ? </el-form>

? ? ? <div slot="footer" class="dialog-footer">

? ? ? ? <el-button @click="iconFormVisible = false">取 消</el-button>

? ? ? ? <el-button type="primary" @click="submitUser()">確 定</el-button>

? ? ? </div>

? ? </el-dialog>

? </div>


表格和彈框?qū)懞煤笪议_始寫js和一些用到的方法

(這里表格數(shù)據(jù)用到了vuex,如果不需要用vuexr的可以往下看)


export default {

? name: "test",

? data() {

? ? ? return {

? ? ? ? iconFormVisible: false,

? ? ? ? userInfo: {},

? ? ? ? dialogTitle: '增加',

? ? ? ? rowIndex: null,

? ? ? };

? },

? created() {

? ? this.setTable();

? },

? methods: {

? ? ...mapActions([

? ? ? 'setTable',

? ? ]),

? ? // 增加

? ? add() {

? ? ? this.dialogTitle = '增加';

? ? ? this.userInfo = {};

? ? ? this.iconFormVisible = true;

? ? },

? ? // 編輯

? ? handleEdit(index, row) {

? ? ? this.dialogTitle = '編輯';

? ? ? this.userInfo = row;

? ? ? this.iconFormVisible = true;

? ? ? this.rowIndex = index;

? ? },

? ? // 彈窗確定

? ? submitUser() {

? ? ? if (this.dialogTitle === '編輯') {

? ? ? ? this.tableData.splice(this.rowIndex, 1, this.userInfo);

? ? ? ? this.iconFormVisible = false;

? ? ? ? return;

? ? ? }

? ? ? this.tableData.splice(0, 0, this.userInfo);

? ? ? this.iconFormVisible = false;

? ? },

? ? // 刪除

? ? remove(index, row) {

? ? ? this.$confirm(`確定刪除${row.name}嗎?`, '提示', {

? ? ? ? confirmButtonText: '確定',

? ? ? ? cancelButtonText: '取消',

? ? ? ? type: 'error',

? ? ? }).then(() => {

? ? ? ? this.tableData.splice(index, 1);

? ? ? });

? ? },

? },

? computed: {

? ? ...mapGetters({

? ? ? tableData: 'gettableData',

? ? }),

? },

};


代碼中tableData數(shù)據(jù)格式如下


? ? const tableData = [{

? ? ? date: '2016-05-02',

? ? ? name: '王小虎',

? ? ? address: '上海市普陀區(qū)金沙江路 1518 弄',

? ? ? age: '12',

? ? }, {

? ? ? date: '2016-05-04',

? ? ? name: '王小虎',

? ? ? address: '上海市普陀區(qū)金沙江路 1517 弄',

? ? ? age: '45',

? ? }, {

? ? ? date: '2016-05-01',

? ? ? name: '王小虎',

? ? ? address: '上海市普陀區(qū)金沙江路 1519 弄',

? ? ? age: '33',

? ? }, {

? ? ? date: '2016-05-03',

? ? ? name: '王小虎',

? ? ? address: '上海市普陀區(qū)金沙江路 1516 弄',

? ? ? age: '7',

? ? }];


表格的數(shù)據(jù)也可以直接寫到data()中代碼如下:


export default {

? name: "test",

? data() {

? ? ? return {

? ? ? ? iconFormVisible: false,

? ? ? ? userInfo: {},

? ? ? ? dialogTitle: '增加',

? ? ? ? rowIndex: null,

? ? ? ? tableData: [{

? ? ? ? ? date: '2016-05-02',

? ? ? ? ? name: '王小虎',

? ? ? ? ? address: '上海市普陀區(qū)金沙江路 1518 弄',

? ? ? ? ? age: '12',

? ? ? ? }, {

? ? ? ? ? date: '2016-05-04',

? ? ? ? ? name: '王小虎',

? ? ? ? ? address: '上海市普陀區(qū)金沙江路 1517 弄',

? ? ? ? ? age: '45',

? ? ? ? }, {

? ? ? ? ? date: '2016-05-01',

? ? ? ? ? name: '王小虎',

? ? ? ? ? address: '上海市普陀區(qū)金沙江路 1519 弄',

? ? ? ? ? age: '33',

? ? ? ? }, {

? ? ? ? ? date: '2016-05-03',

? ? ? ? ? name: '王小虎',

? ? ? ? ? address: '上海市普陀區(qū)金沙江路 1516 弄',

? ? ? ? ? age: '7',

? ? ? ? }],

? ? ? };

? },

? created() {

? },

? methods: {

? ? ...mapActions([

? ? ]),

? ? // 增加

? ? add() {

? ? ? this.dialogTitle = '增加';

? ? ? this.userInfo = {};

? ? ? this.iconFormVisible = true;

? ? },

? ? // 編輯

? ? handleEdit(index, row) {

? ? ? this.dialogTitle = '編輯';

? ? ? this.userInfo = row;

? ? ? this.iconFormVisible = true;

? ? ? this.rowIndex = index;

? ? },

? ? // 彈窗確定

? ? submitUser() {

? ? ? if (this.dialogTitle === '編輯') {

? ? ? ? this.tableData.splice(this.rowIndex, 1, this.userInfo);

? ? ? ? this.iconFormVisible = false;

? ? ? ? return;

? ? ? }

? ? ? this.tableData.splice(0, 0, this.userInfo);

? ? ? this.iconFormVisible = false;

? ? },

? ? // 刪除

? ? remove(index, row) {

? ? ? this.$confirm(`確定刪除${row.name}嗎?`, '提示', {

? ? ? ? confirmButtonText: '確定',

? ? ? ? cancelButtonText: '取消',

? ? ? ? type: 'error',

? ? ? }).then(() => {

? ? ? ? this.tableData.splice(index, 1);

? ? ? });

? ? },

? },

? computed: {

? ? ...mapGetters({

? ? }),

? },

};


這樣就可以實(shí)現(xiàn)增刪改的功能了

希望能夠幫助你(????)?"""

?(?????)?ヾ(??▽?)ノ

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末畅卓,一起剝皮案震驚了整個(gè)濱河市蟋恬,隨后出現(xiàn)的幾起案子歼争,更是在濱河造成了極大的恐慌渗勘,老刑警劉巖旺坠,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件价淌,死亡現(xiàn)場(chǎng)離奇詭異瞒津,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)巷蚪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門屁柏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人僧家,你說(shuō)我怎么就攤上這事八拱⊙乃” “怎么了匕荸?”我有些...
    開封第一講書人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵榛搔,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我腹泌,道長(zhǎng),這世上最難降的妖魔是什么童本? 我笑而不...
    開封第一講書人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任真屯,我火速辦了婚禮,結(jié)果婚禮上穷娱,老公的妹妹穿的比我還像新娘绑蔫。我一直安慰自己运沦,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開白布配深。 她就那樣靜靜地躺著携添,像睡著了一般。 火紅的嫁衣襯著肌膚如雪烈掠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評(píng)論 1 309
  • 那天缸托,我揣著相機(jī)與錄音左敌,去河邊找鬼。 笑死俐镐,一個(gè)胖子當(dāng)著我的面吹牛矫限,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播佩抹,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼叼风,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了棍苹?” 一聲冷哼從身側(cè)響起无宿,我...
    開封第一講書人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎枢里,沒(méi)想到半個(gè)月后孽鸡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坡垫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年梭灿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了画侣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冰悠。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖配乱,靈堂內(nèi)的尸體忽然破棺而出溉卓,到底是詐尸還是另有隱情,我是刑警寧澤搬泥,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布桑寨,位于F島的核電站,受9級(jí)特大地震影響忿檩,放射性物質(zhì)發(fā)生泄漏尉尾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一燥透、第九天 我趴在偏房一處隱蔽的房頂上張望沙咏。 院中可真熱鬧辨图,春花似錦、人聲如沸肢藐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)吆豹。三九已至鱼的,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間痘煤,已是汗流浹背凑阶。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衷快,地道東北人晌砾。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像烦磁,于是被迫代替她去往敵國(guó)和親养匈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容