пойму как получить значение, по которому показывать или скрывать эту иконку
ну можно в валью компонента передавать массив выбранных значений, и иконку по value.indexOf(current_jtem)
Не, я про то что вот у меня сам компонент кнопки. Хочется как то получать значение isActive, чтобы показывать отмеченную радио кнопку. Можно конечно передавать выбранное значение с родительского компонента и уже внутри сравнивать с value компонента кнопки, но мне кажется это костыль какой то <template> <label :class="['radio-button', { 'radio-button--disabled': disabled }]"> <div :class="[ 'radio-button__frame transition-all', { 'radio-button__frame--round': round, 'radio-button__frame--selected': isActive, }, ]" > <Icon class="radio-button__frame__check-mark-icon" v-if="isActive" name="checkMark3" size="13px" /> <input v-model="radioValue" type="radio" :id="id" :value="value" :name="name" /> </div> <span class="radio-button__label" :style="[ $q.lang.rtl ? { marginRight: indentLabel } : { marginLeft: indentLabel }, ]" v-if="label" > {{ label }} </span> </label> </template> <script> export default { name: 'RadioButton', props: { label: { type: String, default: null }, indentLabel: { type: String, default: '8px' }, round: { type: Boolean, default: false }, disabled: { type: Boolean, default: false }, name: { type: String, default: null }, isSelected: { type: Boolean, default: false }, id: { type: Number, default: null }, value: { type: [Number, String], default: null }, }, computed: { radioValue: { get() { if (this.isSelected) { this.$emit('change', this.value) return this.value } else { return null } }, set(value) { this.$emit('change', value) }, }, }, } </script>
Есть еще общий компонент радио списка, да?
v-model лучше тут уже использывать
как тут слотв и v-model помогут?
Вам же требуется состояние кнопки ?
ListItems подписываетесь v-model а от ListItem emit
isSelected: { type: Boolean, default: false }, value: { type: [Number, String], default: null }, radioValue: { у тебя три поля задают значение, тебя это не смущает?
А чем v-model не нравится в родителе? У меня так чекбоксы настроены через v-model родителя и компьютед в дочернем
И как это с радио кнопками будет выглядеть?
Не понимаю. Что значит подписаться на v-model в ListItems?
Не понятен вопрос в такой постановке
Проще говорю компонент обертку для радиокнопок должен у вас содержать всю информацию какие сейчас активны кнопки
Посмотрите внимательнее на сам компонент) value - это значение радио кнопки isSelected - значение, которое показывает какая конкретно радио кнопка выбрана по умолчанию radioValue - компьютед свойство, которое генерит событие выбора кнопки наверх
Обсуждают сегодня