38 lines
1.2 KiB
Vue
38 lines
1.2 KiB
Vue
<template>
|
|
<div class="h-full bg-neutral-10 border border-neutral-300 rounded-xl ml-4 p-2 space-y-2">
|
|
<p class="h2 pl-2">{{ title }}</p>
|
|
<div class="h-[calc(100%_-_48px)]">
|
|
<p class="h2 pl-2 border-b mb-3">Sort</p>
|
|
<div class="flex flex-wrap justify-start content-start gap-4 px-2 overflow-y-auto scrollbar h-[calc(100%_-_52px)]">
|
|
<div class="flex items-center w-[166px]" v-for="(act, index) in data" :key="index">
|
|
<RadioButton v-model="selectedRadio" :inputId="index.toString()" :name="select" :value="act" @change="actRadioData" />
|
|
<label :for="index" class="ml-2 p-2 whitespace-nowrap break-keep text-ellipsis overflow-hidden">{{ act }}</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
export default {
|
|
props: ['title', 'select', 'data', 'category'],
|
|
data() {
|
|
return {
|
|
selectedRadio: this.select,
|
|
}
|
|
},
|
|
methods: {
|
|
actRadioData() {
|
|
this.$emitter.emit('actRadioData', {
|
|
category: this.category,
|
|
task: this.selectedRadio,
|
|
});
|
|
}
|
|
},
|
|
created() {
|
|
this.$emitter.on('reset', (data) => {
|
|
this.selectedRadio = data;
|
|
});
|
|
},
|
|
}
|
|
</script>
|