mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-19 01:04:25 +08:00
migrate to composition API and typescript
This commit is contained in:
@@ -10,31 +10,36 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script setup lang="ts">
|
||||||
export default {
|
import { computed } from 'vue';
|
||||||
props: [
|
|
||||||
'disabled',
|
|
||||||
'buttons',
|
|
||||||
'modelValue'
|
|
||||||
],
|
|
||||||
emits: [
|
|
||||||
'update:modelValue'
|
|
||||||
],
|
|
||||||
computed: {
|
|
||||||
value: {
|
|
||||||
get: function () {
|
|
||||||
return this.modelValue;
|
|
||||||
},
|
|
||||||
set: function (value) {
|
|
||||||
if (value === this.modelValue) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.$emit('update:modelValue', value);
|
interface Button {
|
||||||
}
|
name: string,
|
||||||
}
|
value: unknown
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const props = defineProps<{
|
||||||
|
modelValue: unknown;
|
||||||
|
buttons: Button[];
|
||||||
|
disabled?: boolean;
|
||||||
|
}>();
|
||||||
|
|
||||||
|
const emit = defineEmits<{
|
||||||
|
(e: 'update:modelValue', value: unknown): void
|
||||||
|
}>();
|
||||||
|
|
||||||
|
const value = computed<unknown>({
|
||||||
|
get: () => {
|
||||||
|
return props.modelValue;
|
||||||
|
},
|
||||||
|
set: value => {
|
||||||
|
if (value === props.modelValue) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
emit('update:modelValue', value);
|
||||||
|
}
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
Reference in New Issue
Block a user