父子元件通訊——模擬12306購票新增乘車人
1.子元件 用來封裝每一條乘車人的元件
<template>
<div>
<div style="width:100% ">
<table style="border-collapse:separate; border-spacing:10px 0px;">
<tr>
<td>學號</td>
<td></td>
<td></td>
<td></td>
<td>
<a-select
showSearch
style="width: 150px"
@change="handleIdChange"
>
<a-select-option v-for="(v,k) in option" :key="k">
{{ k }}
</a-select-option>
</a-select>
</td>
<td></td>
<td></td>
<td></td>
<td>學科</td>
<td>
<a-select
style="width:280px"
showSearch
@change="handleSbjChange">
<a-select-option v-for="(v,k) in subjectList" :key="k">
{{ k }}
</a-select-option>
</a-select>
</td>
<td></td>
<td></td>
<td></td>
<td>考試成績</td>
<td>
<a-select
mode="multiple"
style="width: 250px"
@change="getVersion">
<a-select-option v-for="i in gradeList" :key="i">
{{ i }}
</a-select-option>
</a-select>
</td>
<td>
<a-button type="danger" @click="onDelete">
刪除
</a-button>
</td>
</tr>
</table>
</div>
</div>
</template>
<script>
export default {
components: {
},
props: {
option: {
type: Object,
default: () => ({}),
required: false,
},
},
data() {
return {
modelData: [],
subjectList: {},
gradeList: [],
idPick: '',
pickObj: { id: '', subject: '', grade: [] },
}
},
computed: {
},
methods: {
// 像父元件傳遞需要刪除的引數
onDelete() {
// $emit(even,value)even 是一個函式,value 是傳給父元件的值
this.$emit('onDelete', this.pickObj)
},
handleIdChange(value) {
this.idPick = value
this.subjectList = this.option[value]
this.pickObj.id = value
},
handleSbjChange(value) {
this.gradeList = this.subjectList[value]
this.pickObj.subject = value
},
getGrade(value) {
this.pickObj.grade = value
},
},
}
</script>
<style scoped>
</style>
2.父元件
<template>
<div style="background-color: white; padding: 16px;">
<tr v-for="i in optionList" :key="i.key">
<personBox
:option="testData"
@onDelete="deleteOneList(i)"
style="margin-left:-12px"></personBox>
</tr>
</div>
</template>
<script>
import personBox from '@/元件在的路徑'
export default {
name: 'SpecialCustomSearch',
components: {
personBox,
},
data() {
return {
optionList: [],
testData: {
小王: {
數學: [99, 100, 200],
語文: [99, 66, 99],
英語: [99, 77, 88],
},
小hua: {
數學: [99, 87, 200],
語文: [99, 97, 99],
英語: [99, 77, 88],
},
小勇: {
數學: [45, 100, 200],
語文: [77, 66, 99],
英語: [88, 77, 88],
},
},
pickList: {},
optNum: 0,
}
},
methods: {
deleteOneList(i) {
var final = this.optionList.filter(function(value, index, arr) {
return (i.key !== value.key)
})
this.optionList = final
},
addModels() {
const _this = this
_this.optNum += 1
var n = _this.optNum
this.optionList.push({ key: n, ID: '', subject: '', grade: [] })
},
},
created() {
this.getModelData()
},
}
</script>
<style>
</style>
相關文章
- vue 父子元件通訊Vue元件
- Vue 父子元件的通訊Vue元件
- 父子元件之間通訊元件
- Vue中父子元件通訊——元件todolistVue元件
- vue 2 0 元件:父子元件通訊Vue元件
- 我學react之父子元件通訊React元件
- vue父子元件通訊高階用法Vue元件
- Vue2.0父子元件間通訊Vue元件
- Vue父子元件通訊小總結Vue元件
- vue--select父子元件通訊Vue元件
- prop父子元件通訊,動靜態prop元件
- 會vue,學習react元件父子通訊VueReact元件
- vue2.0父子、兄弟元件通訊,$emit使用Vue元件MIT
- 3.Vue非父子元件之間的通訊Vue元件
- Vue之父子、同級元件的通訊詳解Vue元件
- 關於React父子元件通訊知識總結React元件
- Html5模擬通訊錄人員排序(sen.js)HTML排序JS
- PostgreSQL與12306搶火車票的思考SQL
- Vue.js 父子元件通訊的1212種方式Vue.js元件
- Python3.6實現12306火車票自動搶票Python
- 12306火車票訂票系統的伸縮擴充套件套件
- vue 自定義元件 v-model雙向繫結、 父子元件同步通訊Vue元件
- 總結Vue第二天:自定義子元件、父子元件通訊、插槽Vue元件
- 最近在看父子元件通訊中遇到的一個問題?元件
- react父子、子父、兄弟通訊React
- vue: 從一個下拉框元件理解vue中的父子通訊Vue元件
- vue之父子元件間通訊例項講解(props、$ref、$emit)Vue元件MIT
- vue2.0 非父子元件之間的單一事件通訊Vue元件事件
- vuejs如何設定父子通訊VueJS
- Angular父子元件通過服務傳參Angular元件
- 通過java程式模擬實現地鐵票價2+2=12Java
- 利用IT++搭建通訊模擬平臺(C++)C++
- ECU通訊:CAN匯流排模擬測試
- ros(2) 模擬slam定位和高斯渲染通訊ROSSLAM
- 用PyQt5編輯 12306車票資訊爬取程式QT
- 注意!12306網站和APP買火車票時間提前網站APP
- iframe父子頁面通訊解決方案
- 12306火車票搶票Python程式碼最新完整版釋出,五一搶票就靠它了!Python