Index: pkg/template_binding/lib/src/select_element.dart |
diff --git a/pkg/template_binding/lib/src/select_element.dart b/pkg/template_binding/lib/src/select_element.dart |
index 432b0490b68ee47822a03b9800c31ec010ebf93c..f205a15cf20a85cf254d2d0e01220fd0184c510a 100644 |
--- a/pkg/template_binding/lib/src/select_element.dart |
+++ b/pkg/template_binding/lib/src/select_element.dart |
@@ -10,14 +10,21 @@ class _SelectElementExtension extends _ElementExtension { |
SelectElement get _node => super._node; |
- NodeBinding bind(String name, model, [String path]) { |
+ Bindable bind(String name, value, {bool oneTime: false}) { |
if (name == 'selectedindex') name = 'selectedIndex'; |
if (name != 'selectedIndex' && name != 'value') { |
- return super.bind(name, model, path); |
+ return super.bind(name, value, oneTime: oneTime); |
} |
- _self.unbind(name); |
+ // TODO(jmesserly): merge logic here with InputElement, it's the same except |
+ // for the addition of selectedIndex as a valid property name. |
_node.attributes.remove(name); |
- return bindings[name] = new _SelectBinding(_node, name, model, path); |
+ if (oneTime) { |
+ _InputBinding._updateProperty(_node, value, name); |
+ return null; |
+ } |
+ |
+ _self.unbind(name); |
+ return bindings[name] = new _InputBinding(_node, value, name); |
} |
} |