Dalam beberapa tahun kebelakangan ini, dengan pembangunan berterusan teknologi bahagian hadapan, Vue telah menjadi rangka kerja bahagian hadapan yang dipilih oleh semakin ramai pembangun. Antaranya, penambahan, pemadaman, pengubahsuaian dan pertanyaan data bahagian hadapan adalah salah satu fungsi paling asas dalam aplikasi web. Dalam Vue, bagaimana untuk menambah, memadam, mengubah suai dan menyemak semasa muncul kotak dialog? Seterusnya, artikel ini akan memperkenalkan anda kepada cara menambah, memadam, mengubah suai dan bertanya data dalam Vue, dan cara menggabungkan kotak dialog untuk meningkatkan interaktiviti pengguna.
1. Persediaan
Sebelum mengamalkan Vue, kita perlu memahami dan menguasai teknologi berikut:
Pengamatan data
<template> <div> <el-table :data="tableData"> ... </el-table> </div> </template> <script> export default { data() { return { tableData: [] } } } </script>
<el-form> <el-form-item label="Name"> <el-input v-model="name"></el-input> </el-form-item> <el-form-item label="Age"> <el-input v-model="age"></el-input> </el-form-item> <el-form-item> <el-button @click="addData">Add Data</el-button> </el-form-item> </el-form> <script> export default { data() { return { tableData: [], name: '', age: '' } }, methods: { addData() { this.tableData.push({name: this.name, age: this.age}) this.name = '' this.age = '' } } } </script>
<el-table :data="tableData"> <el-table-column label="Name"> <template slot-scope="scope">{{ scope.row.name }}</template> </el-table-column> <el-table-column label="Age"> <template slot-scope="scope">{{ scope.row.age }}</template> </el-table-column> <el-table-column label="Actions"> <template slot-scope="scope"> <el-button type="danger" @click="deleteData(scope.$index)">Delete</el-button> </template> </el-table-column> </el-table> <script> export default { data() { return { tableData: [] } }, methods: { deleteData(index) { this.tableData.splice(index, 1) } } } </script>
3 Menggabungkan kotak dialog untuk mencapai kesan interaktif
<el-table :data="tableData"> <el-table-column label="Name"> <template slot-scope="scope">{{ scope.row.name }}</template> </el-table-column> <el-table-column label="Age"> <template slot-scope="scope">{{ scope.row.age }}</template> </el-table-column> <el-table-column label="Actions"> <template slot-scope="scope"> <el-button @click="editData(scope.row)">Edit</el-button> </template> </el-table-column> </el-table> <el-dialog :visible.sync="dialogVisible"> <el-form> <el-form-item label="Name"> <el-input v-model="editRow.name"></el-input> </el-form-item> <el-form-item label="Age"> <el-input v-model="editRow.age"></el-input> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">Cancel</el-button> <el-button type="primary" @click="updateData">OK</el-button> </span> </el-dialog> <script> export default { data() { return { tableData: [], dialogVisible: false, editRow: {} } }, methods: { editData(row) { this.dialogVisible = true this.editRow = Object.assign({}, row) }, updateData() { const index = this.tableData.indexOf(this.editRow) Object.assign(this.tableData[index], this.editRow) this.dialogVisible = false } } } </script>
4. Kesimpulan
<el-dialog :visible.sync="dialogVisible"> <span slot="title">Edit Data</span> <el-form> <el-form-item label="Name"> <el-input v-model="editRow.name"></el-input> </el-form-item> <el-form-item label="Age"> <el-input v-model="editRow.age"></el-input> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible = false">Cancel</el-button> <el-button type="primary" @click="updateData">OK</el-button> </span> </el-dialog> <script> export default { data() { return { dialogVisible: false, editRow: {} } }, methods: { editData(row) { this.dialogVisible = true this.editRow = Object.assign({}, row) }, updateData() { ... this.dialogVisible = false } } } </script>
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penambahan, pemadaman, pengubahsuaian dan pertanyaan data dalam Vue dan menggabungkannya dengan kotak dialog. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!