vue.js入門_15_フォーム入力バインディング
by s9iwork
HTML
<div id="app">
<h2>v-model利用時はvalue属性などは無視される</h2>
<p>{{ message }}</p>
<input type="text" v-model="message" value="fugafuga">
<h2>テキストエリア</h2>
<div class="container">
<div>
<textarea name="" id="" cols="30" rows="5">{{ text }}</textarea>
<p>{{ text }}</p>
</div>
<div>
<textarea name="" id="" cols="30" rows="5" v-model="text2"></textarea>
<p>{{ text2 }}</p>
</div>
</div>
<h2>チェックボックス</h2>
<div class="container">
<div>
<h3>1つ</h3>
<input type="checkbox" v-model="checked">
<p>{{checked}}</p>
</div>
<div>
<h3>複数</h3>
<input type="checkbox" id="red" v-model="colors" value="Red">
<label for="red">Red</label>
<input type="checkbox" id="blue" v-model="colors" value="Blue">
<label for="blue">Blue</label>
<input type="checkbox" id="green" v-model="colors" value="Green">
<label for="green">Green</label>
<p>{{colors}}</p>
</div>
</div>
<h2>ラジオボタン</h2>
<input type="radio" id="red2" v-model="color" value="Red">
<label for="red2">Red</label>
<input type="radio" id="blue2" v-model="color" value="Blue">
<label for="blue2">Blue</label>
<input type="radio" id="green2" v-model="color" value="Green">
<label for="green2">Green</label>
<p>{{color}}</p>
<h2>セレクトボックス</h2>
<div class="container">
<div>
<h3>1つ</h3>
<select name="" id="" v-model="selected">
<option value="">選択してください</option>
<option value="1">1番目</option>
<option value="2">2番目</option>
<option value="3">3番目</option>
</select>
<p>{{selected}}</p>
</div>
<div>
<h3>複数</h3>
<select name="" id="" v-model="selected2" multiple>
<option value="">選択してください</option>
<option value="1">1番目</option>
<option value="2">2番目</option>
<option value="3">3番目</option>
</select>
<p>{{selected2}}</p>
</div>
</div>
<h2>lazy修飾子</h2>
<input type="text"...
CSS
#app {
max-width: 500px;
}
h2 {
font-size: 1.2rem;
}
h2::before {
content: "■";
}
.container {
display: flex;
}
.container>div {
margin-right: 2rem;
}
JavaScript
new Vue({
el: '#app',
data: {
message: 'hogehoge',
text: 'text',
text2: 'text2',
checked: true,
colors: ['Blue'],
color: 'Green',
selected: 3,
selected2: [2],
lazy: '',
trim: '',
number: 0,
number2: 0,
},
})