半亩花田i
平时学习的笔记以及写的demo,仅供参考
posts - 65,comments - 2,views - 94458

gitHub地址:https://github.com/huangpna/vue_learn/example里面的lesson05

一 vue表单基础用法

 举个例子:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index1</title>
</head>
<body>
<!--表单输入验证-->
    <div id="app1">
        <!--文本-->
        <input type="text" placeholder="a line text" v-model="msg"/><br/><br/>
        <!--多行文本-->
        <textarea placeholder="more line text" v-model="msg"></textarea><br/><br/>
        <!--复选框-->
        <!--单个-->
        <input type="checkbox" placeholder="请选择" v-model="isSeleted"/>
        <label>{{isSeleted}}</label>
        <!--多个-->
        <div>
            <input type="checkbox" placeholder="请选择" id="jack" value="Jack" v-model="data"/>
            <label for="jack">Jack</label><br/><br/>
            <input type="checkbox" placeholder="请选择"  id="John" value="John" v-model="data"/>
            <label for="John">John</label><br/><br/>
            <input type="checkbox" placeholder="请选择" id="Mike" value="Mike" v-model="data"/>
            <label for="Mike">Mike</label><br/><br/>
            <span>{{data}}</span>
        </div>
        <!--单选按钮-->
        <div>
            <input type="radio" placeholder="请选择" id="three" value="three" v-model="data1"/>
            <label for="three">three</label><br/><br/>
            <input type="radio" placeholder="请选择"  id="two" value="two" v-model="data1"/>
            <label for="two">two</label><br/><br/>
            <input type="radio" placeholder="请选择" id="one" value="one" v-model="data1"/>
            <label for="one">one</label><br/><br/>
            <span>{{data1}}</span>
        </div><br/>
        <!--选择框-->
        <!--单选-->
        <div>
            <select v-model="data2">
                <option disabled value="">请选择</option>
                <option>A</option>
                <option>B</option>
                <option>C</option>
            </select><br/>
            <span style="border:1px solid red;height:50px;width:100px;display: inline-block">{{data2}}</span>
        </div><br/>
        <!--多选-->
        <div>
            <select v-model="data3" multiple>
                <option disabled value="">请选择</option>
                <option>1</option>
                <option>2</option>
                <option>3</option>
            </select><br/>
            <span style="border:1px solid red;height:50px;width:100px;display: inline-block">{{data3}}</span>
        </div><br/>
        <!--用v-for渲染的动态选项-->
        <div>
            <select v-model="data4">
                <option disabled value="">请选择</option>
                <option v-for="item in dataList" :value="item.value">{{item.text}}</option>
            </select><br/>
            <span style="border:1px solid red;height:50px;width:100px;display: inline-block">{{data4}}</span>
        </div>
    </div>
</body>
<script src="../js/vue.min.js"></script>
<script>
    var vm = new Vue({
        el:"#app1",
        data:{
            msg:'45545',
            isSeleted:false,

            data:[],
            data1:[],
            data2:'',
            data3:[],
            dataList:[{
                value:'aaaaa',
                text:'sfgdghdhdfh'
            },
                {
                    value:'bbbb',
                    text:'csafasfsaf'

                },
                {
                    value:'ccccc',
                    text:'57977'

                }],
            data4:[]
        },
        methods:{

        }
    })
</script>
</html>
复制代码

 注意:有时候我们可能想把值绑定到Vue实例的一个动态属性上,这时可以用v-bind实现,并且这个属性可以不是字符串。

二 修饰符

举例说明:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>index2</title>
</head>
<body>
    <div id="app2">
        <!--修饰符-->
        <!-- 在“change”时而非“input”时更新 -->
        <input type="radio" id="huahua" v-model.lazy="msg" value="小花花">
        <label for="huahua">小花花</label>
        <input type="radio" id="huahua1" v-model.lazy="msg" value="小花花1">
        <label for="huahua1">小花花1</label>
        <span>{{msg}}</span>


        <div>
            <!--将用户输入的值转化为数值类型-->
            <input type="text" v-model.number="age">
            {{typeof age}}<br/>
            <!--自动过滤首尾空白字符-->
            <input type="text" v-model.trim="asd">
            {{asd}}<br/>
        </div>


    </div>
</body>
<script src="../js/vue.min.js"></script>
<script>
    /**
     * .lazy   在“change”时而非“input”时更新
     * .number 将用户输入的值转化为数值类型(number)
     * .trim   自动过滤首尾空白字符
     * */
    var vm = new Vue({
        el:'#app2',
        data:{
            msg:'',
            age:'',
            asd:''
        },
        methods:{

        }
    })
</script>
</html>
复制代码

 备注:

  .lazy    在“change”时而非“input”时更新

  .number    将用户输入的值转化为数值类型(number)

  .trim     自动过滤首尾空白字符

posted on   半亩花田i  阅读(398)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示