修改此代码使其正确 - CSDN文库",
"datePublished": "2025-04-13",
"keywords": "
序号
学习科目
学习内容
学习地点
完成状态
操作
{{ 1 }}
{{ Vue.js 前端实战开发 }}
{{ 学习指令,例如 v-if v-for v-model等 }}
{{ 自习室 }}
删除
<template>
<div class="card">
<div class="card-header">
学习计划表
</div>
<div class="card-body">
<div class="row">
</div>
<div class="col-auto">
<div class="input-group">
<span class="input-group-text">学习科目</span>
<input v-model.trim="subject" type="text" class="form-control" placeholder="请输入学习科目">
</div>
</div>
<div class="col-auto">
<div class="input-group">
<span class="input-group-text">学习内容</span>
<textarea v-model.trim="content" style="height:32px;" class="form-control" placeholder="请输入学习内容"></textarea>
</div>
</div>
</div>
<div class="col-auto">
<div class="input-group">
<span class="input-group-text">学习地点</span>
<select class="form-select" v-model="selectedOption">
<option v-for="option in options" :value="option.place" :key="option.placeCode">
{{ option.place }}
</option>
</select>
</div>
</div>
</div>
<form @submit.prevent="add" class="row">
<div class="col-auto">
<div class="input-group">
<span class="input-group-text">学习科目</span>
<input type="text" class="form-control" placeholder="请输入学习科目">
</div>
</div>
<div class="col-auto">
<div class="input-group">
<span class="input-group-text">学习内容</span>
<textarea style="height:32px" placeholder="请输入学习内容" class="form-control"></textarea>
</div>
</div>
<div class="col-auto">
<div class="input-group">
<span class="input-group-text">学习地点</span>
<select class="form-select">
<option value="1">自习室</option>
<option value="2">图书馆</option>
<option value="3">宿舍</option>
</select>
</div>
</div>
<div class="col-auto">
<button class="btn btn-primary" type="submit">添加</button>
</div>
</form>
<table class="table table-hover">
<thead>
<tr>
<th scope="col">序号</th>
<th scope="col">学习科目</th>
<th scope="col">学习内容</th>
<th scope="col">学习地点</th>
<th scope="col">完成状态</th>
<th scope="col">操作</th>
</tr>
</thead>
<tbody> <tr>
<td>{{ 1 }}</td>
<td>{{ Vue.js 前端实战开发 }}</td>
<td>{{ 学习指令,例如 v-if v-for v-model等 }}</td>
<td>{{ 自习室 }}</td>
<td>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="flexSwitchCheckDefault">
<label class="form-check-label" for="flexSwitchCheckDefault">未完成</label>
</div>
</td>
<td>
<a href=" " @click="remove(item.id, item.status)">删除</a >
</td>
</tr>
</tbody>
</table>
<div class="form-check form-switch">
<input v-model="item.status" :id="'sw'+item.id" class="form-check-input" type="checkbox" role="switch">
<label v-if="item.status" class="form-check-label" :for="'sw'+item.id">已完成</label>
<label v-else class="form-check-label" :for="'sw'+item.id">未完成</label>
</div>
</template>
<script setup>
import { ref,reactive } from 'vue';
const list = reactive([]);
const subject = ref("");
const content = ref("");
const nextId = ref("");
const selectedOption = ref('自习室');
const options = reactive([
{placeCode:0, place:'自习室',},
{placeCode:1, place:'图书馆',},
{placeCode:2, place:'宿舍',},
]);
const add = () =>{
if(subject.value === ''){
alert('学习科目为必填项!')
return
}else if(content.value === ''){
alert("学习内容为必填!")
return
}
nextId.value = Math.max(0,...list.map(item => item.id)) + 1
const obj = {
id: nextId.value,
subject: subject.value,
content:content.value,
place:selectedOption.value,
status:false
}
list.value.push(obj)
subject.value = ''
content.value = ''
selectedOption.value = '自习室'
}
const remove = (id,status) =>{
if(status){
list.value = list.value.filter(item => item.id !== id)
}else{
alert("请先完成该计划!")
}
}
</script>修改此代码使其正确