<lable>分類情況</lable>
<select v-model="content.tid">
<option v-for="type in types" :value="type.id" :key="type.id">
{{type.name}}
</option>
</select>
總結的很到位
vue select下拉框綁定默認值:
首先option要加value值,以便v-model可以獲取到對應選擇的值
一、當沒有綁定v-model,直接給對應的option加selected屬性
二、當給select綁定了v-model的值的時候,要給v-model綁定的data值里寫默認值
<template>
<div id ="learn-insert">
<h1>新增學習記錄</h1>
<form v-if="!submmited">
<p>學習內容標題</p>
<input type="text" v-model="content.desc" required />
<p>學習詳細內容</p>
<textarea type="text" v-model="content.details" required></textarea>
<p>分類情況</p>
<select v-model="content.tid">
<option v-for="type in types" :value="type.id" :key="type.id">
{{type.name}}
</option>
</select>
<button v-on:click.prevent="post">添加學習內容</button>
</form>
<div v-if="submmited" >
<h3>親的學習內容已經發布成功</h3>
</div>
<div id="preview">
<h3>內容概覽</h3>
<p> 內容描述: {{content.desc}}</p>
<p> 內容詳細描述: {{content.details}}</p>
<p> 內容詳細描述: {{content.tid}}</p>
</div>
</div>
</template>
<script>
export default {
data() {
return {
content:{
id:"",
tid:"1",
uid:"",
datetime:"",
desc:"",
details:""
},
types:[],
submmited: false,
id:"1"
}
},
methods: {
post: function(){
this.$http.post('http://localhost:8085/content/add', this.content)
.then((data) =>{
console.log(data);
console.log(this.submmited);
this.submmited= true;
console.log(this.submmited);
});
}
},
created(){
this.$http.get('http://localhost:8085/type/showall', true)
.then(function(response){
this.types=response.data;
console.log(this.types);
})
//,this.content.id=this.types[0].id
}
}
</script>
<style scoped>
/*
#learn-insert *{
box-sizing: border-box;
}
#learn-insert{
margin: 20px auto;
max-width: 600px;
padding: 20px;
}
*/
label{
display: block;
margin: 20px 0 10px;
}
input[type="text"],textarea,select{
display: block;
width: 100%;
padding: 8px;
}
textarea{
height: 200px;
}
#checkboxes label{
display: inline-block;
margin-top: 0;
}
#checkboxes input{
display: inline-block;
margin-right: 10px;
}
button{
display: block;
margin: 20px 0;
background: crimson;
color: #fff;
border: 0;
padding: 14px;
border-radius: 4px;
font-size: 18px;
cursor: pointer;
}
#preview{
padding: 10px 20px;
border: 1px dotted #ccc;
margin: 30px 0;
}
h3{
margin-top: 10px;
}
</style>
