uniapp使用from表单提交后清空input输入内容的正确方法

在uni-app开发小程序时遇到form表单提交后无法清空input内容的问题。常规的设置input默认值并清空的方法在uni-app中无效。通过尝试,发现将input的value属性改为v-model双向绑定,在提交成功后可以成功清空input内容,解决了这个问题。

使用uni-app做小程序开发的时候,使用到from表单提交,但是提交后input输入的内容却没有办法清空。

	<form @submit="FormSubmit">
		<input confirm-type="go"></input>
		<button form-type="submit" class="">添加</button>
	</form>

搜索了一下后发现大家在微信小程序原生开发的方案都是给input的value设置一个默认值inputName,然后在提交成功后,把inputName通过this.setData 设置为空

 	//直接将input值设置空
     this.setData({
        inputName: ''
     })

但是在uniapp上这样做,并不会改变input输入的内容,尝试改用了以下方法

	<template>
		<view>
			<form @submit="FormSubmit">
				<input :value="inputName" confirm-type="go"></input>
				<button form-type="submit" class="">添加</button>
			</form>
		<view>
	<template>
	<script>
		data() {
			return {
				inputName:''
			}
		},
		methods: {
			FormSubmit:(){
				this.inputName = ''
			}
		}
	</script>

可这样的方法也不会清空input输入内容。网上也有说通过设置延迟的方法能清空input输入的内容,但是测试后,发现依然不能清空。

	setTimeout(() => { 
		this.inputName = ''
	}, 10)	

后来把inputName设置成null就可以做到在from提交成功后,清空input输入的内容

this.inputName = null

但是又发现这样的做法,仅仅在第一次提交时会清空input输入的内容而已,再次提交操作并不会清空input输入的内容了。

最后想到一个方法,把value属性换成了v-model双向绑定就成功了

	<template>
		<view>
			<form @submit="FormSubmit">
				<input v-model="inputName" confirm-type="go"></input>
				<button form-type="submit" class="">添加</button>
			</form>
		<view>
	<template>
	<script>
		data() {
			return {
				inputName:''
			}
		},
		methods: {
			FormSubmit:(){
				this.inputName = ''
			}
		}
	</script>

所以这个应该是在uni-app上开发微信小程序,使用from表单提交后清空input输入内容的正确方法了吧

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值