我有一張表格,使用ajax獲取數據。我試圖建立一個表,其中每行都有一個關聯的隱藏行,並單擊該行來切換隱藏行的顯示。隱藏的行包含手風琴。VueJS手風琴表 - 出現在表格外
問題是,手風琴已經搞亂了,並在表格的底部顯示,而不是顯示在它被點擊的特定行下面。
我的代碼如下:
<table class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th v-for="column in columns">
<span v-if="column == 'Predictive Price'">
{{column}}
<i class="fa fa-info-circle" v-tooltip="msg"></i>
</span>
<span v-else-if="column == 'Actual Price'">
{{column}}
<i class="fa fa-info-circle" v-tooltip="tooltip.actual_price"></i>
</span>
<span v-else>
{{column}}
</span>
</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<tr v-for="row in model" @click="showRow">
<td>
{{row.id}}
</td>
<td>
{{row.company_customer.customer_name}}
</td>
<td>
<i class="fa fa-map-marker"></i>
<small>
{{row.pickup_addr.address_1}}, {{row.pickup_addr.city}}, {{row.pickup_addr.postcode}}
</small>
</td>
<td>
<i class="fa fa-map-marker"></i>
<small>
{{row.pickup_addr.address_1}}, {{row.pickup_addr.city}}, {{row.pickup_addr.postcode}}
</small>
</td>
<td>
£{{row.predictive_price}}
</td>
<td>
£{{row.actual_price}}
</td>
<td>
n/a
</td>
<tr>
<td colspan="7" v-if="contentVisible">
<div class="accordian-body">
ACCORDION
</div>
</td>
</tr>
</tr>
</tbody>
</table>
<script>
export default {
methods: {
data() {
return {
msg: 'This is just an estimation!',
tooltip: {
actual_price: 'Click on the price to edit it.'
},
contentVisible: false,
}
},
rowRow() {
this.contentVisible = !this.contentVisible;
}
}
}
</script>
我在哪裏可以把手風琴格,以便它能夠正確顯示?
編輯:
請參閱小提琴:https://jsfiddle.net/49gptnad/355/
你把你的手風琴'tr'放在另一個'tr'裏面。把它放在後面。一個'tr'不能是另一個'tr'的孩子。 –
@RoyJ請看這個小提琴:正如你所看到的,它不符合我的需要:https://jsfiddle.net/49gptnad/355/甚至把它放在'tr'外面 – Phorce
手風琴是應該的嗎?成爲一排還是它在一個單元格?或者說,看起來你想爲每一排提供手風琴? – Bert