|
Обновить props в функциональном компоненте Nuxt Js.
|
|||
---|---|---|---|
#18+
Всем привет, мне необходимо реализовать страничку в виде таблицы, на которой в строках содержится список людей, а по столбцам - оставшиеся дни месяца учитывая текущую дату. На пересечении строк и столбцов находится элемент, по нажатию которого этот элемент должен визуально отобразить, что он был нажат(по аналогии с CheckBox) и должны прослушиваться все события нажатия в родительском компоненте. Чтобы столбцы были ровными я решил сделать разметку с использованием CssGrid, то есть я высчитываю сколько дней в месяце, добавляю один столбец для ФИО сначала. То есть количество строк и количество столбцов может различаться. Код главного компонента Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93.
Ввиду того, что для CssGrid необходимо, чтобы все элементы находились на одном уровне вложенности, один компонент SelectWorkDayComponent должен рисоваться следующим образом Код: xml 1. 2. 3. 4. 5. 6.
Но ввиду того, что в Template можно использовать только 1 корневой элемент, единственная возможность обойти это ограничение, это использование функциональных компонентов. //SelectWorkDayComponent.vue Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59.
Все рисуется нормально, нажатие тоже отрабатывает корректно, но я никак не могу применить другой стиль для div, на который нажали. Обновление props из родительского компонента не работает, свойства не реактивны. Изменять элемент внутри события "Click" тоже нельзя, потому что он "ReadOnly". Подскажите плиз что можно сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 17:12 |
|
|
start [/forum/topic.php?fid=22&msg=39960805&tid=1443461]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 245ms |
total: | 398ms |
0 / 0 |