
如何在 vant field 输入框中聚焦时展示字数限制?
vant field 输入框中默认不会在聚焦前显示字数限制。如果您需要在聚焦时才显示此限制,可以按照以下步骤操作:
<template>
<van-field
:focus="focus"
@focus="onFocus"
@blur="onBlur"
:rows="rows"
:value="value"
maxlength="12"
></van-field>
</template>
<script>
import { ref } from 'vue';
export default {
setup() {
const rows = ref(3);
const value = ref('');
const focus = ref(false);
// 计算字数限制
const limit = computed(() => {
return focus.value ? rows.value * value.value.length : 0;
});
const onFocus = () => { focus.value = true };
const onBlur = () => { focus.value = false };
return {
rows,
value,
focus,
limit
};
},
};
</script>在上述代码中:
- limit 计算属性根据输入内容的长度动态计算字数限制。
- focus 数据用于跟踪输入框的聚焦状态。
- onfocus 和 onblur 事件处理函数在输入框聚焦和失焦时更新 focus 数据。
通过使用 vue 的计算属性和数据状态,您可以实现仅在输入框聚焦时才显示字数限制。










