Имеется список расписания занятий на определённую неделю, которые ведёт преподаватель. Преподаватель имеет возможность изменять значение в полях, после того как он кликает на определённое поле и начинает что-то вводить, появляется 3 соответствующие кнопки.
В моём случае записи для таблицы приходят с бэка на страницу teacher и записываются в data на каждый день недели
teacher
import table_prepod from "@/components/table_prepod";
export default {
name: "Teacher",
components:{
table_prepod
},
data() {
return {
id_prepod: 0, fio_prepod: "", name_predmet: "", id_user: "", now_time: new Date(""),
Monday:[],
Tuesday:[],
Wednesday:[],
Thursday:[],
Friday:[]}
},
после чего данные со страницы идут в компонент этой страницы c помощью props
table_prepod
<div id="content">
<p class="p_table1">Понедельник</p><table cellspacing="0">
<tr>
<th>Время</th>
<th>Группа</th>
<th>Название предмета</th>
<th>Тема</th>
<th>Аудитория</th>
<th>Д.З.</th>
</tr>
<tr v-for="zan in Monday">
<td v-for="zann in Array(zan)"><input v-on:input="monday_true += 1" v-model="zann[1]" class="input_table_prepod_time"></td>
<td v-for="zann in Array(zan)"><input v-on:input="monday_true += 1" v-model="zann[2]" class="input_table_prepod_group"></td>
<td v-for="zann in Array(zan)"><input v-on:input="monday_true += 1" v-model="zann[3]" class="input_table_prepod_namepred"></td>
<td v-for="zann in Array(zan)"><input v-on:input="monday_true += 1" v-model="zann[4]" class="input_table_prepod_sub"></td>
<td v-for="zann in Array(zan)"><input v-on:input="monday_true += 1" v-model="zann[5]" class="input_table_prepod_aud"></td>
<td v-for="zann in Array(zan)"><input v-on:input="monday_true += 1" v-model="zann[6]" class="input_table_prepod_homew"></td>
</tr>
</table>
<button v-if="monday_true" v-on:click="save(1)" class="button_table_prepod">Сохранить изменения</button>
<button v-if="monday_true" v-on:click="deletee(1)" class="button_table_prepod2">Удалить изменённые записи</button>
<button v-if="monday_true" v-on:click="back(1)" class="button_table_prepod3">Отмена изменений</button>
<br>
<p class="p_table2">Вторник</p>
<table cellspacing="0">
<tr>
<th>Время</th>
<th>Группа</th>
<th>Название предмета</th>
<th>Тема</th>
<th>Аудитория</th>
<th>Д.З.</th>
</tr>
<tr v-for="zan in Tuesday">
<td v-for="zann in Array(zan)"><input v-on:input="tuesday_true += 1" v-model="zann[1]" class="input_table_prepod_time"></td>
<td v-for="zann in Array(zan)"><input v-on:input="tuesday_true += 1" v-model="zann[2]" class="input_table_prepod_group"></td>
<td v-for="zann in Array(zan)"><input v-on:input="tuesday_true += 1" v-model="zann[3]" class="input_table_prepod_namepred"></td>
<td v-for="zann in Array(zan)"><input v-on:input="tuesday_true += 1" v-model="zann[4]" class="input_table_prepod_sub"></td>
<td v-for="zann in Array(zan)"><input v-on:input="tuesday_true += 1" v-model="zann[5]" class="input_table_prepod_aud"></td>
<td v-for="zann in Array(zan)"><input v-on:input="tuesday_true += 1" v-model="zann[6]" class="input_table_prepod_homew"></td>
</tr>
</table>
<button v-if="tuesday_true" v-on:click="save(2)" class="button_table_prepod">Сохранить изменения</button>
<button v-if="tuesday_true" v-on:click="deletee(2)" class="button_table_prepod2">Удалить изменённые записи</button>
<button v-if="tuesday_true" v-on:click="back(2)" class="button_table_prepod3">Отмена изменений</button>
<br>
<p class="p_table2">Среда</p><table cellspacing="0">
<tr>
<th>Время</th>
<th>Группа</th>
<th>Название предмета</th>
<th>Тема</th>
<th>Аудитория</th>
<th>Д.З.</th>
</tr>
<tr v-for="zan in Wednesday">
<td v-for="zann in Array(zan)"><input v-on:input="wednesday_true += 1" v-model="zann[1]" class="input_table_prepod_time"></td>
<td v-for="zann in Array(zan)"><input v-on:input="wednesday_true += 1" v-model="zann[2]" class="input_table_prepod_group"></td>
<td v-for="zann in Array(zan)"><input v-on:input="wednesday_true += 1" v-model="zann[3]" class="input_table_prepod_namepred"></td>
<td v-for="zann in Array(zan)"><input v-on:input="wednesday_true += 1" v-model="zann[4]" class="input_table_prepod_sub"></td>
<td v-for="zann in Array(zan)"><input v-on:input="wednesday_true += 1" v-model="zann[5]" class="input_table_prepod_aud"></td>
<td v-for="zann in Array(zan)"><input v-on:input="wednesday_true += 1" v-model="zann[6]" class="input_table_prepod_homew"></td>
</tr>
</table>
<button v-if="wednesday_true" v-on:click="save(3)" class="button_table_prepod">Сохранить изменения</button>
<button v-if="wednesday_true" v-on:click="deletee(3)" class="button_table_prepod2">Удалить изменённые записи</button>
<button v-if="wednesday_true" v-on:click="back(3)" class="button_table_prepod3">Отмена изменений</button>
<br>
<p class="p_table2">Четверг</p><table cellspacing="0">
<tr>
<th>Время</th>
<th>Группа</th>
<th>Название предмета</th>
<th>Тема</th>
<th>Аудитория</th>
<th>Д.З.</th>
</tr>
<tr v-for="zan in Thursday">
<td v-for="zann in Array(zan)"><input v-on:input="thursday_true += 1" v-model="zann[1]" class="input_table_prepod_time"></td>
<td v-for="zann in Array(zan)"><input v-on:input="thursday_true += 1" v-model="zann[2]" class="input_table_prepod_group"></td>
<td v-for="zann in Array(zan)"><input v-on:input="thursday_true += 1" v-model="zann[3]" class="input_table_prepod_namepred"></td>
<td v-for="zann in Array(zan)"><input v-on:input="thursday_true += 1" v-model="zann[4]" class="input_table_prepod_sub"></td>
<td v-for="zann in Array(zan)"><input v-on:input="thursday_true += 1" v-model="zann[5]" class="input_table_prepod_aud"></td>
<td v-for="zann in Array(zan)"><input v-on:input="thursday_true += 1" v-model="zann[6]" class="input_table_prepod_homew"></td>
</tr>
</table>
<button v-if="thursday_true" v-on:click="save(4)" class="button_table_prepod">Сохранить изменения</button>
<button v-if="thursday_true" v-on:click="deletee(4)" class="button_table_prepod2">Удалить изменённые записи</button>
<button v-if="thursday_true" v-on:click="back(4)" class="button_table_prepod3">Отмена изменений</button>
<br>
<p class="p_table2">Пятница</p><table cellspacing="0">
<tr>
<th>Время</th>
<th>Группа</th>
<th>Название предмета</th>
<th>Тема</th>
<th>Аудитория</th>
<th>Д.З.</th>
</tr>
<tr v-for="zan in Friday">
<td v-for="zann in Array(zan)"><input v-on:input="friday_true += 1" v-model="zann[1]" class="input_table_prepod_time"></td>
<td v-for="zann in Array(zan)"><input v-on:input="friday_true += 1" v-model="zann[2]" class="input_table_prepod_group"></td>
<td v-for="zann in Array(zan)"><input v-on:input="friday_true += 1" v-model="zann[3]" class="input_table_prepod_namepred"></td>
<td v-for="zann in Array(zan)"><input v-on:input="friday_true += 1" v-model="zann[4]" class="input_table_prepod_sub"></td>
<td v-for="zann in Array(zan)"><input v-on:input="friday_true += 1" v-model="zann[5]" class="input_table_prepod_aud"></td>
<td v-for="zann in Array(zan)"><input v-on:input="friday_true += 1" v-model="zann[6]" class="input_table_prepod_homew"></td>
</tr>
</table>
<button v-if="friday_true" v-on:click="save(5)" class="button_table_prepod">Сохранить изменения</button>
<button v-if="friday_true" v-on:click="deletee(5)" class="button_table_prepod2">Удалить изменённые записи</button>
<button v-if="friday_true" v-on:click="back(5)" class="button_table_prepod3">Отмена изменений</button>
</div>
</body>
</template>
<script>
export default {
data(){
return{
monday_true: 0,
tuesday_true: 0,
wednesday_true: 0,
thursday_true: 0,
friday_true: 0,
}
},
props:{
Monday:{
type: Array,
required: true
},
Tuesday:{
type: Array,
required: true
},
Wednesday:{
type: Array,
required: true
},
Thursday:{
type: Array,
required: true
},
Friday:{
type: Array,
required: true
},
},
methods:{
deletee(){
},
back(A){
if (A===1){
this.monday_true = 0
}
if (A===2){
this.tuesday_true= 0
}
if (A===3){
this.wednesday_true = 0
}
if (A===4){
this.thursday_true = 0
}
if (A===5){
this.friday_true = 0
}
},
save(){
},
},
name: "table_prepod",
}
</script>
В котором требуется реализовать 3 функции: save, back, delete. На данный момент я не понимаю как полноценно реализовать функцию back, которая отвечает за кнопку "отмена изменений", сейчас при нажатии на кнопку, все кнопки переходят в исходное состояние и не отображаются на экране как это было до ввода какой-либо информации пользователем в то или иное поле, а возвращение значений полей в исходное состояние реализовать не удалось. Заранее благодарю за помощь, был бы признателен за подсказку по реализации остальных кнопок.
Данные для примера:
Данные которые приходят с бэка в массив Monday:
[1, "2021-02-01 08:15:00", "21-Э-95", "Проектирование баз данных", "Тема", 1, "Д.З."]
[1, "2021-02-01 09:55:00", "11-А-96", "Проектирование баз данных", "Тема", 2, "Д.З."]
[1, "2021-02-01 11:35:00", "13-С-94", "Проектирование баз данных", "Тема", 3, "Д.З."]