summaryrefslogtreecommitdiff
path: root/src/client/components
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-07-19 23:30:12 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-07-19 23:30:12 +0900
commit6aef54a9e055cb2688a769390a91a52ae5b8cc86 (patch)
tree1e7f75b0437f97aa9cef519d2eb03da9c6c5e6c3 /src/client/components
parentアイコンを四角で表示するオプション (diff)
downloadmisskey-6aef54a9e055cb2688a769390a91a52ae5b8cc86.tar.gz
misskey-6aef54a9e055cb2688a769390a91a52ae5b8cc86.tar.bz2
misskey-6aef54a9e055cb2688a769390a91a52ae5b8cc86.zip
Improve component stability
Diffstat (limited to 'src/client/components')
-rw-r--r--src/client/components/form/radios.vue7
-rw-r--r--src/client/components/tab.vue2
-rw-r--r--src/client/components/ui/radios.vue7
3 files changed, 11 insertions, 5 deletions
diff --git a/src/client/components/form/radios.vue b/src/client/components/form/radios.vue
index 4cfb7c247e..b660c37ace 100644
--- a/src/client/components/form/radios.vue
+++ b/src/client/components/form/radios.vue
@@ -27,7 +27,10 @@ export default defineComponent({
},
render() {
const label = this.$slots.desc();
- const options = this.$slots.default();
+ let options = this.$slots.default();
+
+ // なぜかFragmentになることがあるため
+ if (options.length === 1 && options[0].props == null) options = options[0].children;
return h('div', {
class: 'cnklmpwm _formItem'
@@ -37,7 +40,7 @@ export default defineComponent({
}, label),
...options.map(option => h('button', {
class: '_button _formPanel _formClickable',
- key: option.props.value,
+ key: option.key,
onClick: () => this.value = option.props.value,
}, [h('span', {
class: ['check', { checked: this.value === option.props.value }],
diff --git a/src/client/components/tab.vue b/src/client/components/tab.vue
index 5e54fc968e..3902b7f98f 100644
--- a/src/client/components/tab.vue
+++ b/src/client/components/tab.vue
@@ -14,7 +14,7 @@ export default defineComponent({
class: 'pxhvhrfw',
}, options.map(option => withDirectives(h('button', {
class: ['_button', { active: this.value === option.props.value }],
- key: option.props.value,
+ key: option.key,
disabled: this.value === option.props.value,
onClick: () => {
this.$emit('update:value', option.props.value);
diff --git a/src/client/components/ui/radios.vue b/src/client/components/ui/radios.vue
index 547e616ea5..8a62b87683 100644
--- a/src/client/components/ui/radios.vue
+++ b/src/client/components/ui/radios.vue
@@ -23,14 +23,17 @@ export default defineComponent({
},
render() {
const label = this.$slots.desc();
- const options = this.$slots.default();
+ let options = this.$slots.default();
+
+ // なぜかFragmentになることがあるため
+ if (options.length === 1 && options[0].props == null) options = options[0].children;
return h('div', {
class: 'novjtcto'
}, [
h('div', label),
...options.map(option => h(MkRadio, {
- key: option.props.value,
+ key: option.key,
value: option.props.value,
modelValue: this.value,
'onUpdate:modelValue': value => this.value = value,