vue实现一个任务计划表

效果图如下所示:
在这里插入图片描述
需要用到的指令:
条件渲染 v-show
根据表达式之真假值,切换元素的 display CSS 属性
当条件变化时该指令触发过渡效果

v-model
在表单控件或者组件上创建双向绑定

v-bind
缩写:
动态地绑定一个或多个特性,或一个组件 prop 到表达式

v-on
缩写@
绑定事件监听器。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句,如果没有修饰符也可以省略。
用在普通元素上时,只能监听 原生 DOM 事件。用在自定义元素组件上时,也可以监听子组件触发的自定义事件。
在监听原生 DOM 事件时,方法以事件为唯一的参数。如果使用内联语句,语句可以访问一个 $event 属性: v-on:click=“handle(‘ok’, $event)”

v-for
基于源数据多次渲染元素或模板块。此指令之值,必须使用特定语法 alias in expression ,为当前遍历的元素提供别名

html代码

<!DOCTYPE html>
<html>
<head>
	<title></title>
<link rel="stylesheet" type="text/css" href="index.css">
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<div class="page-top">
	<div class="page-content">
		<h3>任务计划列表</h3>
	</div>
</div>
<div class="main">
	<h3 class="big-title">添加任务:</h3>
	<input 
	placeholder="列如:vue学习计划:      提示:+回车即可添加任务" 
	class="task-input" 
	type="text"
	v-model="todo"
	v-on:keyup.13="addTodo"
	>
	<ul class="task-count" v-show="list.length">
		<li>1个任务未完成</li>
		<li class="action">
			<a class="action" href="#">所有任务</a>
			<a href="#">未完成的任务</a>
			<a href="#">完成的任务</a>
		</li>
	</ul>
	<h3 class="big-title">任务列表:</h3>
	<div class="tasks">
		<span class="no-task-tip" v-show="!list.length">还没有添加任何任务</span>
		<ul class="todo-list" >
			<li class="todo" :class="{completed:item.isChecked}" v-for="item in list">
				<div class="view">
					<input class="toggle" type="checkbox" v-model="item.isChecked">
					<label>{{item.title}}</label>
					<button class="destroy" @click="deleteTodo(item)"></button>
				</div>
				<input class="edit" type="text">
			</li>

		</ul>
	</div>
</div>
<script src="app.js"></script>
<script>
	
</script>
</body>
</html>

js代码

var list=[
{
	title:'学习vue',
	isChecked:false
},
{
	title:'学习vue',
	isChecked:true
}
]

new Vue({
	el:".main",
	data:{
		list:list,
		todo:''
	},
	methods:{
		addTodo(){
			
				this.list.push({
					title:this.todo,
					isChecked:false
				});
			this.todo='';
		},
		deleteTodo(todo){
			var index=this.list.indexOf(todo);
			this.list.splice(index,1)
		}

	}
});

由于内容太多,css部分就暂时先不上传,需要的朋友可以在下方留言,我会把css代码发给你的哦!

Vue3中创建一个学习计划表,你可以遵循以下几个步骤: 1. **设置项目结构**: 创建一个新的Vue3项目,例如使用`vue create my-learning-plan`。 2. **安装依赖**: 安装`Element Plus`或`Vuetify`这样的UI库,它有丰富的表格组件可以方便地展示学习计划。安装命令如:`npm install element-plus` 或 `yarn add vuetify`. 3. **创建组件**: - `LearningPlan.vue`: 这将是你的主体组件,包含表头、数据区域和操作按钮等。 ```html <template> <el-table :data="planItems" :columns="tableColumns" @row-click="selectRow"> <!-- ... 表格列和行的内容 --> </el-table> </template> <script> import { ElTable, ElTableColumn } from 'element-plus'; export default { components: { ElTable, // ... 如果需要其他Element Plus组件,也添加进来 }, data() { return { planItems: [], // 学习计划的数据数组 tableColumns: [ { prop: 'title', label: '标题', width: '200px' }, // 列配置 { prop: 'date', label: '日期' }, { prop: 'task', label: '任务' }, ], }; }, methods: { selectRow(row) { // 点击事件处理,选择或更新行 } }, }; </script> ``` 4. **填充数据**: 初始化一些学习计划项到`planItems`数组中,比如: ```js data() { return { // ... planItems: [ { title: 'JavaScript基础', date: '2023-01-01', task: '阅读教程' }, { title: 'Vue3入门', date: '2023-01-05', task: '完成课程' }, // ... ] }; }, ``` 5. **样式和布局调整**: 使用CSS或SCSS美化表格外观,并根据需求调整页面布局。 6. **动态添加/编辑/删除**: 可以通过Vue的响应式特性,实现学习计划的增删改查功能,比如通过表单组件和axios请求与API交互。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值