【前端学习记录】Vue框架——发布框

学习了一些课程后试着写的代码,有适当的改动,比较小白哈


前言

做一个类似微博的发布框
1.未输入时文本框里有默认内容
2.输入时自动记录字数
3.超过字数在文本框下面出现警告文字
4.有清空和发布按钮

问题

在没输入文字的时候警告文字就显示了,这显然和平常使用的发布框不一样
请添加图片描述

解决

加一个参数i就好了,记录成功发布之前点击发布按钮的次数,i>0的时候,说明用户在尝试发布空的信息,显示警告文字。

submit(){
				this.i++
				if(this.content!=""){
					console.log(this.content);
					this.content=""
					alert("发布成功!");
					}
			}

这样又有个问题,在用户发送过一次以后还是会出现一样的问题(没输入但是警告文字显示)
请添加图片描述
在文本框内容满足成功发布的条件的时候i=0就好

submit(){
				this.i++
				if(this.content!=""){
					console.log(this.content);
					this.content=""
					alert("发布成功!");
					this.i=0
					}
			}

所有代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title></title>
		<style>
		/* 设置警告字体颜色 */
		.warn{
			color:red;
		}
		</style>
	</head>
	<body>
		<div id="app" v-cloak>
			<textarea cols="30" rows="10" placeholder="请发表你今天的心情..." v-model="content"></textarea>

			<!-- 超过五十字显示警告 -->
			<p :class="{warn:content.length>50}" v-model="content">{{content.length}}/50字</p>

			<!-- 内容为空不允许发布同时发布按钮失效 -->
			<!-- i表示在成功发布前点击发布按钮的次数 -->
			<p class="warn" v-show="content.length<=0 && i>0">发布内容不能为空!</p>
			<p>
				<button @click="submit()" :disabled="content.length>50">发布</button>
			<!-- 清空按钮 -->
				<button @click="clear()" :disabled="content.length<=0">清空</button>
			</p>
			</div>
	</body>
	<script src='js/vue.js'></script>
	<script>
	var vue=new Vue({
		el:'#app',
		data:{
				content:"",
				sub:false,
				i:0
		},
		methods:{
			//发布函数,点击发布按钮后清空输入框内容,并在控制台打印输入数据同时提示用户发布成功

			submit(){
				this.i++
				if(this.content!=""){
					console.log(this.content);
					this.content=""
					alert("发布成功!");
					this.i=0
					}
			},
			clear(){
				this.content=""
			}
		}
	})
	</script>
</html>

总结

正在努力学习中,有什么问题和建议还请大家指出来
源码放在github上了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值