国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue3.0 CLI - 2.4 - 新組件 Forms.vue 中學(xué)習(xí)表單

2019-11-19 12:56:27
字體:
供稿:網(wǎng)友

我的 github 地址 - vue3.0Study - 階段學(xué)習(xí)成果都會(huì)建立分支。

新組件 - 新路由 Forms.vue ( 下面僅介紹如何創(chuàng)立, 不進(jìn)行介紹 ) :

<template><div class="form"> <input v-model="message" placeholder="edit me"> <p>Message is: {{ message }}</p></div></template><script>export default { name: 'forms', // eslint-disable-next-line data: function () { return {   d: '' // eslint-disable-next-line } }}</script>

新建路由 ( 在 router.js 中 ):

import Forms from './views/Forms.vue'export default new Router({ routes: [  { path: '/', .......},  {   path: '/form',   name: 'forms',   component: Forms  },  { path: '/about', ......} ]})

這樣就建立新的路由,這塊我建立了新的 git commit。

注意:組件名稱盡量滿足以下要求:1、勿采用 HTML 標(biāo)簽名;2、勿采用 vue 內(nèi)部保留的名稱如 slot ( 插槽 )、partial、component等。3、以字母開頭。更加詳細(xì)的組件命名內(nèi)容請參見:https://cnodejs.org/topic/5816aabdcf18d0333412d323

文本表單

貼個(gè)代碼,具體的使用方法不多介紹:

<template><div class="form"> <input v-model="message1" placeholder="單行文本"> <p>單行文本: {{ message1 }}</p> <span>多行文本:</span> <p>{{ message2 }}</p> <textarea v-model="message2" placeholder="多行文本"></textarea></div></template><script>export default { name: 'forms', // eslint-disable-next-line data: function () { return {   message1: '',  message2: '差值' // eslint-disable-next-line } }}</script>

需要注意的是:<textarea v-model="message2" placeholder="多行文本">{{ someProp }}</textarea> 中的紅色部分無效。

選擇框

<label for="cd" style="color:green">單選框:</label> <input type="checkbox" id="cd" v-model="checked1"> <label for="cd">{{ checked1 }}</label> <div>  <label for="jack" style="color:green">復(fù)選集合:</label>  <input type="checkbox" id="name1" value="章三" v-model="checkedNames">  <label for="name1">章三</label>  <input type="checkbox" id="name2" value="里斯" v-model="checkedNames">  <label for="name2">里斯</label>  <input type="checkbox" id="name3" value="王五" v-model="checkedNames">  <label for="name3">王五</label>  <br>  <span>所選的人有: {{ checkedNames }}</span> </div> <div>  <label style="color:green">單選集合:</label>  <input type="radio" id="nan" value="男" v-model="picked">  <label for="nan">男</label>  <input type="radio" id="nv" value="女" v-model="picked">  <label for="nv">女</label>  <br>  <span>性別是: {{ picked }}</span> </div> <div>  <label style="color:green">單選下拉框:</label>  <select v-model="selected1">   <option disabled value="">請選擇</option>   <option>A</option>   <option>B</option>   <option>C</option>  </select>  <span>選擇的是: {{ selected1 }}</span> </div> <div>  <label style="color:green">多選下拉框:</label>  <select v-model="selected2" multiple style="width: 50px;">   <option>A</option>   <option>B</option>   <option>C</option>  </select>  <span>選擇的是: {{ selected2 }}</span> </div>export default { name: 'forms', // eslint-disable-next-line data: function () { return {  checked1: null,  checkedNames: [],  picked: null,  selected1: null,  selected2: [],  message1: null,  message2: null // eslint-disable-next-line } }}

注意:盡管有的選擇框,無須在 data 屬性中也聲明同樣的屬性,但別這么做,任何選擇框的屬性,都應(yīng)該在 data 聲明該屬性。

對于多選框,也可以采用 v-for 來循環(huán)顯示,讀者可自行實(shí)驗(yàn)。

值綁定

上面介紹那些選擇框,屬性綁定的默認(rèn)的值。對此先來看看下面這個(gè)例子:

<input type="checkbox" id="cd" v-model="checked1"><label for="cd">{{ checked1 }}</label><input type="checkbox" id="cd1" v-model="checked11" true-value="有效" false-value="無效"><label for="cd1">{{ checked11 }}</label>

上面的例子,是系統(tǒng)默認(rèn)的,選中之后 checked1 是 true。下面就是修改了選中之后,屬性 checked11 對應(yīng)的值,也就是【有效】。

再比如:<label style="color:green">綁定到a:<input type="radio" v-model="pick" v-bind:value="a"></label>

其中 v-bind:value="a" 意思:選中之后,data.pick = data.a 。在 js 中 data 必須要設(shè)置這兩個(gè)屬性,且 a 要有初始值。

可以綁定到對象:<label style="color:green">綁定到對象:<input type="radio" v-model="pick1" v-bind:value="{a:1}"></label>

也可以:<label style="color:green">綁定到對象:<input type="radio" v-model="pick1" v-bind:value="obj"></label>

對于所有的上面介紹的表單,都可以采用這種值綁定,限于篇幅,不一一介紹。

最后還有 - 修飾符

.lazy   .number   .trim

.lazy 改變 input 和 textarea 輸入框的更新模式。上面的兩個(gè)輸入框的例子,都是在敲鍵盤一邊輸入一邊更新;加入這個(gè)之后,變成失去焦點(diǎn)才會(huì)更新。

.number 則是將強(qiáng)制輸入轉(zhuǎn)換為 Number 類型。

.trim 去掉輸入的字符串空格 ( 注意:加入之后,不但首尾的空格會(huì)去掉,中間部分連續(xù)多個(gè)空格會(huì)替換為單個(gè)空格 )。

比如如下例子: <textarea v-model.trim="message2" placeholder="多行文本"></textarea>

關(guān)于組件內(nèi)部的基礎(chǔ)功能 ( 表單、指令、綁定、屬性 ) 已經(jīng)簡單了解熟悉,深入的理解需要在運(yùn)用過程中不斷加深。后面的學(xué)習(xí)將進(jìn)一步理解 MVC 框架的核心概念之一 【組件】。

總結(jié)

以上所述是小編給大家介紹的vue3.0 CLI - 2.4 - 新組件 Forms.vue 中學(xué)習(xí)表單  ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 永善县| 砀山县| 剑阁县| 工布江达县| 宁德市| 西乌珠穆沁旗| 通化市| 石台县| 武宣县| 灌南县| 罗江县| 汤阴县| 易门县| 那坡县| 东乡| 兰考县| 榆社县| 哈密市| 石屏县| 永登县| 商水县| 余姚市| 西安市| 张家界市| 白银市| 商城县| 澎湖县| 红桥区| 大同市| 临西县| 睢宁县| 盈江县| 新巴尔虎右旗| 弥渡县| 昭苏县| 铜川市| 射阳县| 上饶县| 和平县| 兖州市| 永定县|