美文网首页
Vue.js 表单

Vue.js 表单

作者: 爱学习的代代 | 来源:发表于2020-05-25 21:04 被阅读0次

    可以使用v-model指令在表单控件元素上创建双向数据绑定。
    v-model 会根据控件类型自动选取正确的方法来更新元素。

    1、输入框

    直接使用v-model指定一个元素。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Vue.js表单输入框</title>
        <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    
    </head>
    <body>
    
        <div id="app">
            <p>input元素</p>
            <input v-model="message" placeholder="请输入内容">
            <p>您输入的消息是 {{message}}</p>
    
    
            <p>textarea 元素</p>
            <p style="white-space: pre">{{ message2 }}</p>
            <textarea v-model="message2" placeholder="多行文本输入......"></textarea>
        </div>
    
        <script>
    
            new Vue({
                el: '#app',
            data: {
                message: '中国🇨🇳',
                message2: '我爱你'
            }
            })
    
        </script>
        
    </body>
    </html>
    

    2、单选框

    使两个input控件的 v-model指定同一个值X,且data内的赋值X指向其中一个内容

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Vue.js表单 单选框</title>
        <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    
    </head>
    <body>
        <div id="app">
            <input type="radio" id="taobao" value="taobao" v-model="picked">
            <label for="taobao">taobao</label>
            <br>
    
            <input type="radio" id="tencent" value="tencent" v-model="picked">
            <label for="tencent">tencent</label>
            <br>
            
            <span>您选中的值为: {{ picked }}</span>
    
        </div>
    
        <script>
    
            new Vue({
                el: '#app',
                data: {
                    picked: 'taobao'
                }
            })
    
        </script>
        
    </body>
    </html>
    

    3、复选框

    v-model指向同一个元素X,且data内对X的赋值,为一个数组

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Vue.js表单 复选框</title>
        <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    
    </head>
    <body>
        <div id="app">
            <p>单个复选框</p>
            <input type="checkbox" id="checkbox" v-model="checked">
            <label for="checkbox">{{ checked }}</label>
        
        
            <p>多个复选框</p>
            <input type="checkbox" id="tencent" value="tencent" v-model="checkedNames">
            <label for="tencent">tencent</label>
        
        
            <input type="checkbox" id="alibaba" value="alibaba" v-model="checkedNames">
            <label for="alibaba">alibaba</label>
        
        
            <input type="checkbox" id="baidu" value="baidu" v-model="checkedNames">
            <label for="baidu">baidu</label>
            <br>
            <span>您选择的值为: {{ checkedNames }}</span>
    
        </div>
    
        <script>
    
            new Vue({
                el: '#app',
                data: {
                    checked: false,
                    checkedNames: []
                }
            })
    
        </script>
        
    </body>
    </html>
    

    4、下拉框

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Vue.js表单 select下拉框</title>
        <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
    
    </head>
    <body>
        <div id="app">
            <!-- value值是被其他地方使用的,option内的值是写入的选择框中的。  -->
            <select v-model="selected" name="fruit">
                <option value="">请选择你喜欢的水果</option>
                <option value="苹果....">苹果🍎</option>
                <option value="香蕉....">香蕉🍌</option>
                <option value="香梨....">梨🍐</option>
            </select>
    
            <div id="output">
                选择的网站是: {{selected}}
            </div>
    
            <!-- <input v-modle.lazy="msg">
            <input  v-model.number="age" type="number">
            <input v-model.trim="msg"> -->
    
        </div>
    
        <script>
            // 修饰符
            // .lazy 修饰符。  默认情况下,v-model在input事件中同步输入框的值与数据,通过添加修饰符后 v-model.lazy 转变为在change事件中同步  
            // .number 修饰符,  可以将用户输入的值,转换成Number类型。   
            // .trim 可以自动过滤用户输入的首尾空格,。 
            new Vue({
                el: '#app',
                data: {
                    selected: ''
                }
            })
    
        </script>
        
    </body>
    </html>   
    

    相关文章

      网友评论

          本文标题:Vue.js 表单

          本文链接:https://www.haomeiwen.com/subject/azpuahtx.html