2
A
回答
2
您可以看看將@craig_h建議的狀態轉換或者可能只是設置一個常規的javascript事件來監視動畫結束。
要利用第二種方法,您可以爲每行數據添加一個新的參數changed: false
,然後在更改時將其設置爲true。然後這可以將一個類添加到'changed'行。然後,當該行具有「更改」類時,讓您的CSS觸發動畫。現在,您只需在該行上偵聽「animationend」事件並將更改後的參數重置爲false即可。喜歡的東西:
HTML - 行元素
<table>
<tr
ref="rows"
:class="{ changed: row.changed }"
v-for="(row, index) in rows">
<td><input v-model="row.title" type="text"></td>
<td>
<button @click="saveRowEdits(index)">save</button>
</td>
...
組件
data() {
return {
rows: [
{ title: 'foo', changed: false },
{ title: 'bar', changed: false },
],
...
}
},
methods: {
saveRowEdits (index) {
// get the rows DOM el
const row = this.$refs.rows[index]
// watch for animationend
const callback =() => {
row.removeEventListener("animationend", callback);
this.rows[index].changed = false
}
row.addEventListener("animationend", callback, false)
// update param
this.rows[index].changed = true
},
...
CSS
row.changed {
animation: changed-row 1s ...
+0
這聽起來很不錯。這些行實際上是從一個充滿對象的巨大對象中渲染出來的。我可能做的是有一個簡單的「changedRows」數組,並在計算的類上檢查該行是否在該數組中。謝謝您的幫助。 – daninthemix
+0
是的,當然要適應你的需求。樂意效勞 – GuyC
相關問題
- 1. 更改表格寬度動畫
- 2. 動畫更改UILabel行數
- 3. 如何更改動態幼蟲表格
- 4. webpack更改.vue
- 5. 如何更改表格行的背景?
- 6. Vue js元素的更改和動畫位置
- 7. 動畫展開表格行
- 8. 更改動畫
- 9. 更改動畫
- 10. Jquery - 動態更改表格的行高。
- 11. 如何更改表格
- 12. 單擊網格時更改MouseLeave動畫
- 13. 更改ViewPager的動畫風格
- 14. 如何更改活動時更改默認動畫?
- 15. 如何更改背景顏色動態創建的表格行
- 16. 如何在動態添加表格行時更改td.style
- 17. vue 2如何更改v-模型,如果值更改?
- 18. 如何更改模態UIViewController的動畫風格?
- 19. 如何更改jQuery Accordion的動畫風格?
- 20. jquery:將表格行更改爲表格
- 21. 如何更改動畫速度turn.js?
- 22. 如何更改爲動畫塊?
- 23. 如何更改導航器的動畫
- 24. 如何更改Polymer的解析動畫?
- 25. 如何讓動畫更改UIViewControllers?
- 26. 如何更改UIScrollView contentOffset動畫速度?
- 27. 如何動畫CAShapleLayer的路徑更改?
- 28. 如何在動畫後更改視圖?
- 29. jQuery的:如何更改滑塊動畫
- 30. 如何動畫更改按鈕標題?
你的意思,你想到[過渡狀態](https://vuejs.org/v2/guide/transitioning-state.html)? –