-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Cannot bind to nullable types (bool?, int?, etc) #5541
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Will do a PR for this tomorrow |
What would it mean though? How would the UI state ever be “null”? |
A nullable bool should show nothing, but it is usefull when you want to bind the value, like we're doing here If the checkbox is interacted with, it should be true or false but initially it should be nothing. <p>
Initially null checkbox:
<input id="checkbox-initially-null" bind="checkboxInitialltyNullValue" type="checkbox" />
<span id="checkbox-initially-null-value">@checkboxInitialltyNullValue</span>
</p>
@functions{
bool? checkboxInitialltyNullValue = null;
} |
Three-state checkbox demo: Here is the doc from Mozilla: and some discussion from Vue: I have mixed feelings whether example code shown by @vertonghenb should work or not. Personally I prefer a real three-state checkbox component - it is much more user friendly. |
@Andrzej-W
However, we're not really talking about the looks here rather the underlying coupling of the |
@vertonghenb Unfortunately I know almost nothing about Blazor internals yet, but I think it is not as simple as you wrote. Three-state checkbox should be able to map variable/property values to two HTML element properties:
Can you achieve this effect by modifying only this one file (BindMethods.cs)? |
I have just checked and nullable numeric types (int, decimal, etc.) are not supported either. For these types fix should be simpler. Null value can be interpreted as empty field. |
So, will we allow nullables? If so i'll see if I can implement the others as well in #1012
|
In my opinion it is a must have feature. Hopefully @SteveSandersonMS will agree. |
Agree that this is a must have. I ended up creating a component for numeric input that handles nulls. When focus is gained, the field shows a raw number. In losing focus, the relevant number (checked with a regular expression) is written back in formatted form with commas and so on. If the field is empty on losing focus, the component interprets this as a null for a double? Datatype. Works reasonably well. |
Version 0.6.0 seems still not supporting nullables (neither bool? nor the other 6 types listed by @vertonghenb) but this is a very important feature when using db! |
Supporting |
The UI state is "empty" - the initial state. For example when you |
Hi, what is the state of this issue? Are nullable types supported already in some way? I cannot bind to a nullable type yet (The example above works when binding to a bool? but I am unable to bind to a DateTime?) and I am receiving the same error as stated above. |
Hi, same behavior here (to bind a datetime? to an input type=date) , there is a "clean" workaround ? |
Thanks for contacting us. |
A lot of work has been done for the bind method, let's add the one for nullable bool.
bool?
Current error:
Uncaught (in promise) Error: System.ArgumentException: 'bind' does not accept values of type System.Nullable`1[[System.Boolean, mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]. To read and write this value type, wrap it in a property of type string with suitable getters and setters.
The text was updated successfully, but these errors were encountered: