Pārlūkot izejas kodu

update `ui.number` after sanitization (#3389)

Falko Schindler 9 mēneši atpakaļ
vecāks
revīzija
3e9da97302
2 mainītis faili ar 6 papildinājumiem un 0 dzēšanām
  1. 1 0
      nicegui/elements/number.py
  2. 5 0
      tests/test_number.py

+ 1 - 0
nicegui/elements/number.py

@@ -116,6 +116,7 @@ class Number(ValidationElement, DisableableElement):
         if self.precision is not None:
         if self.precision is not None:
             value = float(round(value, self.precision))
             value = float(round(value, self.precision))
         self.set_value(float(self.format % value) if self.format else value)
         self.set_value(float(self.format % value) if self.format else value)
+        self.update()
 
 
     def _event_args_to_value(self, e: GenericEventArguments) -> Any:
     def _event_args_to_value(self, e: GenericEventArguments) -> Any:
         if not e.args:
         if not e.args:

+ 5 - 0
tests/test_number.py

@@ -30,6 +30,11 @@ def test_apply_format_on_blur(screen: Screen):
     screen.click('Button')
     screen.click('Button')
     screen.should_contain_input('3.1417')
     screen.should_contain_input('3.1417')
 
 
+    element.click()
+    element.send_keys(Keys.BACKSPACE * 10 + '2')
+    screen.click('Button')
+    screen.should_contain_input('2.0000')
+
 
 
 def test_max_value(screen: Screen):
 def test_max_value(screen: Screen):
     ui.number('Number', min=0, max=10, value=5)
     ui.number('Number', min=0, max=10, value=5)