diff --git a/src/Microsoft.AspNetCore.Blazor.Browser.JS/src/Rendering/BrowserRenderer.ts b/src/Microsoft.AspNetCore.Blazor.Browser.JS/src/Rendering/BrowserRenderer.ts index b4434ab092..1d16c5e489 100644 --- a/src/Microsoft.AspNetCore.Blazor.Browser.JS/src/Rendering/BrowserRenderer.ts +++ b/src/Microsoft.AspNetCore.Blazor.Browser.JS/src/Rendering/BrowserRenderer.ts @@ -2,6 +2,7 @@ import { getRenderTreeEditPtr, renderTreeEdit, RenderTreeEditPointer, EditType } from './RenderTreeEdit'; import { getTreeFramePtr, renderTreeFrame, FrameType, RenderTreeFramePointer } from './RenderTreeFrame'; import { platform } from '../Environment'; +const selectValuePropname = '_blazorSelectValue'; let raiseEventMethod: MethodHandle; let renderComponentMethod: MethodHandle; @@ -226,8 +227,24 @@ export class BrowserRenderer { if (isCheckbox(element)) { (element as HTMLInputElement).checked = value === 'True'; } else { - // Note: this doen't handle is special, in that anything we write to .value will be lost if there + // isn't yet a matching + + + @if (includeFourthOption) + { + + } + + @selectValue + +

+ @functions { string textboxInitiallyBlankValue = null; string textboxInitiallyPopulatedValue = "Hello"; bool checkboxInitiallyUncheckedValue = false; bool checkboxInitiallyCheckedValue = true; + + bool includeFourthOption = false; + enum SelectableValue { First, Second, Third, Fourth } + SelectableValue selectValue = SelectableValue.Second; + + void AddAndSelectNewSelectOption() + { + includeFourthOption = true; + selectValue = SelectableValue.Fourth; + } }