欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue.js動態(tài)添加、刪除選題的實例代碼

 更新時間:2016年09月30日 10:24:47   作者:愛喝酸奶的吃貨  
這篇文章主要介紹了Vue.js動態(tài)添加、刪除選題的實例代碼,非常不錯具有參考借鑒價值,需要的朋友可以參考下

大家先看看頁面效果吧,當(dāng)當(dāng)當(dāng)當(dāng)```````````````````````

圖中第二個選題是小穎點擊了"新增選題"按鈕,然后出來的,當(dāng)你點擊了"刪除選項"或"刪除選題"按鈕,就會刪除相應(yīng)的選項和選題.

html代碼

<template>
<div class="main-container">
<div class="form-horizontal">
<template v-for='(subjectIndex,subject) in question'>
<div class="form-group">
<label class="col-sm-1 control-label">選題:</label>
<label class="col-sm-2 control-label red remove-pad" v-if='$index>0' @click='deleteSubjectFun(subjectIndex)'>刪除選題</label>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">標題:</label>
<div class="col-sm-2">
<input type="text" class="form-control" placeholder="未填寫" v-model='subject.title'>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">正確答案:</label>
<div class="col-sm-1">
<input type="text" class="form-control answer" placeholder="未填寫" readonly="true" v-model='subject.answer'>
</div>
<span class="prompting-message">請在以下選項中,勾選出正確答案</span>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">分值:</label>
<div class="col-sm-1">
<input type="number" min="1" max="100" class="form-control" v-model='subject.score' @keyup='scoreFun(subjectIndex)'>
</div>
</div>
<div class="form-group">
<label class="col-sm-1 control-label">選項:</label>
</div>
<div class="form-group">
<div class="col-sm-3 mg1">
<ul class="upper-latin">
<template v-for='(opdtIndex,opdt) in subject.optionsData'>
<li>
<input type="checkbox" class="checkbox-answer" v-model='subject.answer' value='{{opdt.id}}'>
<div class="options-div">
<input type="text" class="form-control options-input" placeholder="未填寫" v-model='opdt.options'>
<label class="control-label blue remove-pad" v-if='opdtIndex==subject.optionsData.length-1' @click='addNewOptionsFun(subjectIndex,opdtIndex)'>新增選項</label>
<label class="control-label red remove-pad" v-if='opdtIndex>0' @click='deleteOptionsFun(subjectIndex,opdtIndex)'>刪除選項</label>
</div>
</li>
</template>
</ul>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-1 col-sm-4">
<button class="blue boder" @click='addNewSubjectFun(subjectIndex)'>新增選題</button>
</div>
</div>
<div class='split-line'></div>
</template>
<div class="form-group">
<div class="col-sm-offset-1 col-sm-4">
<button class="btn btn-primary" @click='saveQuestionFun'>提交</button>
</div>
</div>
</div>
</div>
</template>

js代碼

<script>
export default {
components: {
},
props: {},
methods: {
// 新增選題
addNewSubjectFun: function(index) {
var subjectDataMes = {};
subjectDataMes.id = index+2;
subjectDataMes.title = '';
subjectDataMes.answer =[];
subjectDataMes.score = 10;
subjectDataMes.optionsData = [{
id: 'A',
options: ''
}];
this.question.push(subjectDataMes);
},
// 判斷每個題目的分值不能小于零且不能大于一百
scoreFun:function(index){
if(this.question[index].score<0){
this.question[index].score=10;
this.$root.tipStr = '選題"'+this.question[index].title+'"的分值不能小于零';
}else if(this.question[index].score>100){
this.question[index].score=10;
this.$root.tipStr = '選題"'+this.question[index].title+'"的分值不能大于一百';
}
},
// 刪除選題
deleteSubjectFun: function(index) {
this.question.splice(index, 1);
},
// 新增選項
addNewOptionsFun: function(subjectIndex, opdtIndex) {
var optionsDataMes = {};
optionsDataMes.id =String.fromCharCode(64 + (opdtIndex+2)); //將id從數(shù)字轉(zhuǎn)換成大寫字母.
optionsDataMes.options = '';
var subjectDataMes = this.question[subjectIndex].optionsData;
subjectDataMes.push(optionsDataMes);
},
// 刪除選項
deleteOptionsFun: function(subjectIndex, opdtIndex) {
var subjectDataMes = this.question[subjectIndex].optionsData;
subjectDataMes.splice(opdtIndex, 1);
},
saveQuestionFun:function(){
this.question;debugger;
}
},
ready: function() {
},
data() {
return {
question: [{
id: 1,
title: '',
answer: [],
score:10,
optionsData: [{
id: 'A',
options: ''
}],
}],
}
}
}
</script>

css代碼

<style scoped>
.mg1 {
padding: 8px 0 0 113px;
}
.upper-latin {
list-style-type: upper-latin;
}
input.form-control.options-input {
display: inline-block; /*width: 499.16px;*/
width: 100%;
}
.boder {
border: 1px solid;
background-color: #fff;
border-radius: 4px;
line-height: 34px;
padding: 0 15px;
}
.blue {
color: #2689cd;
text-align: center;
}
label.red {
color: #c9302c;
}
label.remove-pad {
/*padding: 10px 20px 10px 15px;*/
line-height: 34px;
text-align: left;
}
.split-line {
height: 10px;
border-top: 2px dashed #E7E8EC;
width: 900px;
}
.prompting-message {
line-height: 34px;
}
.options-div {
margin-left: 26px;
margin-top: -25px;
padding-bottom: 25px;
}
</style>

以上所述是小編給大家介紹的Vue.js動態(tài)添加、刪除選題的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解vue 在移動端體驗上的優(yōu)化解決方案

    詳解vue 在移動端體驗上的優(yōu)化解決方案

    這篇文章主要介紹了vue 在移動端體驗上的優(yōu)化解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 用Vue實現(xiàn)頁面訪問攔截的方法詳解

    用Vue實現(xiàn)頁面訪問攔截的方法詳解

    大家在做前端項目的時候,大部分頁面, 游客都可以直接訪問 , 如遇到 需要登錄才能進行的操作,頁面將提示并跳轉(zhuǎn)到登錄界面,那么如何才能實現(xiàn)頁面攔截并跳轉(zhuǎn)到對應(yīng)的登錄界面呢,本文小編就來給大家介紹一下Vue實現(xiàn)頁面訪問攔截的方法,需要的朋友可以參考下
    2023-08-08
  • vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標的方法

    vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標的方法

    這篇文章主要介紹了vue3+vite使用vite-plugin-svg-icons插件顯示本地svg圖標的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-12-12
  • vue.js實現(xiàn)的幻燈片功能示例

    vue.js實現(xiàn)的幻燈片功能示例

    這篇文章主要介紹了vue.js實現(xiàn)的幻燈片功能,結(jié)合實例形式分析了vue.js實現(xiàn)幻燈片的相關(guān)樣式、配置、功能等操作技巧,需要的朋友可以參考下
    2019-01-01
  • Vue.use源碼學(xué)習(xí)小結(jié)

    Vue.use源碼學(xué)習(xí)小結(jié)

    這篇文章主要介紹了Vue.use源碼學(xué)習(xí)小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Vue中$set()的使用方法場景分析

    Vue中$set()的使用方法場景分析

    由于 Vue 會在初始化實例時進行雙向數(shù)據(jù)綁定,使用Object.defineProperty()對屬性遍歷添加 getter/setter 方法,所以屬性必須在 data 對象上存在時才能進行上述過程 ,這樣才能讓它是響應(yīng)的,這篇文章主要介紹了Vue中$set()的使用方法場景分析,需要的朋友可以參考下
    2023-02-02
  • vue3.0 Reactive數(shù)據(jù)更新頁面沒有刷新的問題

    vue3.0 Reactive數(shù)據(jù)更新頁面沒有刷新的問題

    這篇文章主要介紹了vue3.0 Reactive數(shù)據(jù)更新頁面沒有刷新的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vue3?實現(xiàn)驗證碼倒計時功能

    Vue3?實現(xiàn)驗證碼倒計時功能

    這篇文章主要介紹了Vue3?實現(xiàn)驗證碼倒計時功能,倒計時的運用場景是獲取手機驗證碼倒計時、獲取郵箱驗證碼倒計時等場景,本文結(jié)合示例代碼給大家詳細講解,需要的朋友可以參考下
    2023-01-01
  • Vue3監(jiān)聽store中數(shù)據(jù)變化的三種方式

    Vue3監(jiān)聽store中數(shù)據(jù)變化的三種方式

    這篇文章給大家介紹了Vue3監(jiān)聽store中數(shù)據(jù)變化的三種方法,使用watch和storeToRefs函數(shù),使用計算屬性computed和使用watchEffect函數(shù)這三種方法,文中通過代碼講解非常詳細,需要的朋友可以參考下
    2024-01-01
  • element-ui中使用upload組件獲取上傳文件信息

    element-ui中使用upload組件獲取上傳文件信息

    這篇文章主要介紹了element-ui中使用upload組件獲取上傳文件信息方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評論