vue + ts语法 用原生select设计一个年份选择框,年份格式为yyyy,年份范围为当前年的前15年到当前年后的15年,默认选择当前年
时间: 2024-02-09 07:13:24 浏览: 24
好的,这里是使用 Vue + TypeScript 实现的代码:
```vue
<template>
<select v-model="selectedYear">
<option v-for="year in years" :value="year">{{ year }}</option>
</select>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
export default defineComponent({
data() {
const currentYear = new Date().getFullYear();
const years: string[] = [];
for (let i = currentYear - 15; i <= currentYear + 15; i++) {
years.push(i.toString());
}
return {
years,
selectedYear: currentYear.toString(),
};
},
});
</script>
```
这里使用了 `defineComponent` 定义 Vue 组件,并使用了 TypeScript 的类型注解。`data` 中定义了两个变量,`years` 存储生成的年份数组,`selectedYear` 存储当前选中的年份,默认为当前年份。在模板中使用 `v-model` 将选中的年份绑定到 `selectedYear` 变量上。
需要注意的是,由于 `years` 中存储的是字符串类型的年份,所以 `selectedYear` 的类型也必须是字符串。
阅读全文