Vue学习-iView组件-Form表单

Form表单

#1 环境

"view-design": "^4.0.0",
"vue": "^2.5.2",

#2 原生form

<template>
	<div>
		<form>
			<input type="text" v-model="form.username" placeholder="用户名">
			<input type="text" v-model="form.password" placeholder="密码">
			<button @click="submitForm">登录</button>
		</form>
	</div>
</template>

<script>

    export default {
        name: "test",
        data() {
            return {
                form:{
                    username:"admin",
                    password:"123456",
                }
            }
        },
	    methods:{
            submitForm(){
	            var formdata = JSON.stringify(this.form)
	            console.log(formdata)
            }
	    }
    }
</script>

20191029233127-image.png


#3 iView组件

官方文档

https://www.iviewui.com/components/form

<template>
	<div>
		<Form ref="formlogin" :model="form" inline>
			<FormItem prop="user">
				<Input type="text" v-model="form.username" placeholder="Username">
					<Icon type="ios-person-outline" slot="prepend"></Icon>
				</Input>
			</FormItem>
			<FormItem prop="password">
				<Input type="password" v-model="form.password" placeholder="Password">
					<Icon type="ios-lock-outline" slot="prepend"></Icon>
				</Input>
			</FormItem>
			<FormItem>
				<Button type="primary" @click="submitForm">登录</Button>
			</FormItem>
		</Form>
	</div>
</template>

<script>

    export default {
        name: "test",
        data() {
            return {
                form:{
                    username:"admin",
                    password:"123456",
                }
            }
        },
        methods:{
            submitForm(){
                var formdata = JSON.stringify(this.form)
                console.log(formdata)
            }
        }
    }
</script>

20191029233530-image.png

#3.1 添加字段校验

...
// ref="formlogin" 注册, 方便获取标签
// :rules="rulelogin" 表单规则, 在data里面定义表单规则
<Form ref="formlogin" :model="form" :rules="rulelogin" inline>
...

data() {
    return {
        form:{
            username:"admin",
            password:"123456",
        },
        rulelogin: {  // 校验表单规则
            username: [// FormItem标签中的 prop 属性预期值
                { required: true, message: '用户名不能为空', trigger: 'blur' }
            ],
            password: [// FormItem标签中的 prop 属性预期值
                { required: true, message: '密码不能为空', trigger: 'blur' },
                { type: 'string', min: 6, message: '密码至少需要6位', trigger: 'blur' }
            ]
        }
    }
},
methods:{
    submitForm(){
        this.$refs['formlogin'].validate((valid) => {
		// this.$refs['formlogin'].validate : 获取表单校验结果; 校验正确-> valid为True; 校验失败-> valid为False;
            if (valid) {
                var formdata = JSON.stringify(this.form)
                console.log(formdata)
                // this.$Message.success('Success!');
            } else {
                // this.$Message.error('Fail!');
                console.log("error")
            }
        })
    }
}
...

20191029234117-image.png

20191029234148-image.png

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值