counter.py 552 B

12345678910111213141516171819
  1. from pathlib import Path
  2. from typing import Callable, Optional
  3. from nicegui.dependencies import register_vue_component
  4. from nicegui.element import Element
  5. register_vue_component('counter', Path(__file__).parent / 'counter.js')
  6. class Counter(Element):
  7. def __init__(self, title: str, *, on_change: Optional[Callable] = None) -> None:
  8. super().__init__('counter')
  9. self._props['title'] = title
  10. self.on('change', on_change)
  11. self.use_component('counter')
  12. def reset(self) -> None:
  13. self.run_method('reset')