
vue 中 <select> 标签改变 value 类型为字符串
在 Vue 中使用 <select> 标签时,通过事件处理程序 selectHandler 获取 value 时可能发现其类型发生了改变,全部变为了字符串。这是因为 Vue 为了保持 HTML 兼容性,DOM 中的属性默认都是字符串类型。
解决此问题的方法是使用 v-model 指令,配合模型值 this.modelValue。使用 v-model 后,modelValue 的类型将与 :value 绑定的值保持一致,即使其为数字类型。
<script>
import { ref } from 'vue';
export default {
setup() {
const modelValueRef = ref<number | string | undefined>();
return {
modelValueRef,
};
},
};
</script>
<template>
<select v-model="modelValueRef">
<option v-for="(item, index) in data" :key="index" :value="item[1]">
{{ item[0] }}
</option>
</select>
</template>通过这种方式,即使在 HTML 的 DOM 结构中 value 类型为字符串,但在 Vue 的响应式系统中,modelValueRef 的类型仍将保持为数字或字符串。
以上就是Vue 中 select 标签 value 如何保持原类型?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号