diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2020-11-14 12:50:24 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2020-11-14 12:50:24 +0900 |
| commit | 6c3417d9b54649404b3b2cc2cb1347d264f8cd00 (patch) | |
| tree | 6e0dc88a5f20e5b732558e5e410aa4c47603dc2e /src/client/components | |
| parent | UI整理 (diff) | |
| download | misskey-6c3417d9b54649404b3b2cc2cb1347d264f8cd00.tar.gz misskey-6c3417d9b54649404b3b2cc2cb1347d264f8cd00.tar.bz2 misskey-6c3417d9b54649404b3b2cc2cb1347d264f8cd00.zip | |
Improve MkRadios
Diffstat (limited to 'src/client/components')
| -rw-r--r-- | src/client/components/ui/radios.vue | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/client/components/ui/radios.vue b/src/client/components/ui/radios.vue index 2fdeab4ce9..ea2d983afe 100644 --- a/src/client/components/ui/radios.vue +++ b/src/client/components/ui/radios.vue @@ -1,14 +1,5 @@ -<template> -<div - class="novjtcto" -> - <div><slot></slot></div> - <MkRadio v-for="def in defs" v-model="value" :value="def.value" :key="def.value">{{ def.label }}</MkRadio> -</div> -</template> - <script lang="ts"> -import { defineComponent } from 'vue'; +import { defineComponent, h } from 'vue'; import MkRadio from '@/components/ui/radio.vue'; export default defineComponent({ @@ -32,6 +23,22 @@ export default defineComponent({ value() { this.$emit('update:modelValue', this.value); } + }, + render() { + const label = this.$slots.desc(); + const options = this.$slots.default(); + + return h('div', { + class: 'novjtcto' + }, [ + h('div', label), + ...options.map(option => h(MkRadio, { + key: option.props.value, + value: option.props.value, + modelValue: this.value, + 'onUpdate:modelValue': value => this.value = value, + }, option.children)) + ]); } }); </script> |