Выбор бумаги радиогруппы Polymer 1.0 - как получить выбранный предмет
Я пробовал это решение, но, похоже, оно ничего не делает для меня. У меня есть Полимер 1.0.
Единственное изменение, которое я сделал из решения, это поставить observers
внутри data
собственность и сделанное "не защищены". Я получил эту идею отсюда.
Первоначально я использовал точный подход, как в решении Рикки, но это не сработало и для меня.
Вот как выглядит мой пользовательский элемент:
<dom-module id="radio-group-binder">
<template>
<paper-radio-group class="layout vertical" selected-item="[[selectedItem]]">
<template is="dom-repeat" items="[[data]]">
<paper-radio-button name="{{item.model}}" model$="[[item.model]]" price$="[[item.price]]"><span>[[item.model]]</span> <div class="paper-font-caption"><span>[[item.price]]</span> SEK</div></paper-radio-button>
</template>
</paper-radio-group>
<paper-item><span>[[model]]</span></paper-item>
<paper-item><span>[[price]]</span></paper-item>
</template>
<script>
(function () {
'use strict';
Polymer({
is: 'radio-group-binder',
properties: {
data: {
type: Array,
notify: true,
observers: ['selectedItemChanged(selectedItem)']
},
price: {
type: String,
notify: true
},
model: {
type: String,
notify: true
}
},
selectedItemChanged: function (el) {
this.price = el.getAttribute('price');
this.model = el.getAttribute('model');
},
});
})();
</script>
</dom-module>
Если я правильно понял, то переменные типа [[model]]
а также [[price]]
под каждым paper-item
должен быть заменен выбранными значениями.
Я попробовал оповещение внутри selectedItemChanged
функция, чтобы проверить, вызывается ли она хотя бы, но у меня ее нет.
Опять же, в этом посте я заметил, что Polymer version 1.0.2
упоминается, и это исправление было введено здесь. Это проблема, с которой я сталкиваюсь? Если это так, как я могу перейти на эту версию? Если это не так, пожалуйста, дайте мне знать, что я делаю неправильно.