uniapp使用from表单提交后清空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输入内容的正确方法了吧

版权声明:
作者:junxiaochen
链接:https://www.junxiaochen.com/13.html
来源:君笑尘博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>