在许多健康或健身应用程序中,需要用户输入他们的体重信息。为了提供用户友好的体验,可以创建交互式的体重选择器,允许用户轻松准确地输入他们的体重。
这段代码使用 Vue.js 和 Vant UI 组件库创建了一个交互式体重选择器。它包括以下功能:
import { ref } from "vue";
const weight = ref(120);
ref
函数用于创建可变的 Vue 状态。weight
变量用于存储用户输入的体重。import { Slider, Button } from "vant";
Slider
和 Button
组件。<div class="bg-gray-100 h-screen">
<div class="bg-white shadow-md rounded px-8 pt-6 pb-8 mb-4">
<!-- ...其他代码 ... -->
<div class="mt-4">
<div class="flex items-center justify-center">
<div class="w-full">
<Slider v-model="weight" :max="130" :min="110" />
</div>
</div>
<div class="flex justify-between mt-4">
<div class="text-gray-400 text-sm">110</div>
<div class="text-gray-400 text-sm">130</div>
</div>
</div>
<!-- ...其他代码 ... -->
</div>
</div>
Slider
组件的体重输入控件。v-model
指令将 weight
状态与滑块控件绑定。<div class="flex justify-center mt-6">
<Button>lbs</Button>
<Button>kg</Button>
</div>
// ...其他代码 ...
const weightUnits = ["lbs", "kg"];
const weightConversionFactor = 2.20462;
watch(
() => weight.value,
(newValue) => {
if (weightUnits[0] === "lbs") {
weight.value = newValue * weightConversionFactor;
} else {
weight.value = newValue / weightConversionFactor;
}
}
);
watch
侦听 weight
状态的变化。开发这段代码过程中的经验与收获:
未来该卡片功能的拓展与优化: