在我的Vue 3类人猿项目中,我有一个类似于此的组件:

<template>
  <div class="q-pa-md">
    <div id="myCustomLabel">{{ props.label }}</div>
    <q-input
      ref="myInput"
      filled
      v-model="name"
      :rules="props.rules"
    />
  </div>
</template>

每当字段无效时,它的 colored颜色 就会更改为红色.然而,我还需要将输入上方的"myCustomLabel"dis更改为红色. 有没有方法可以在字段通过规则验证或不通过规则触发函数,以便我也可以更改它?

推荐答案

在输入超过3个字符的情况下,这效果很好,我们有一个背景为negative的自定义标签,但考虑到isValid的外部验证,也可以使用其他任何内容.

<div id="q-app" style="min-height: 100vh;">
<div class="q-pa-md" style="max-width: 300px">
    <p :class="!isValid && 'bg-negative'">Custom label</p>
    <q-input
      filled
      v-model="model"
      label="Type here"
      bottom-slots
      hint="Max 3 characters"
      error-message="Please use maximum 3 characters"
      :error="!isValid"
    ></q-input>
  </div>
</div>
const { ref, computed } = Vue
const app = Vue.createApp({
  setup () {
    const model = ref('')

    return {
      model,
      isValid: computed(() => model.value.length <= 3)
    }
  }
})

app.use(Quasar, { config: {} })
app.mount('#q-app')

这里是this part" rel="nofollow noreferrer">a codepen个带有视觉复制的文档,这取自this part个文档(外部验证).

Css相关问答推荐

为什么图像加载请求没有显示在我的网络请求中?

Tailwind仅在启用时才在按钮上设置group-hover

如何剪切一个正方形以便我可以绘制追逐边框?

这个 CSS :is() Select 器没有像我想象的那样工作

如何阻止 Mud Blazor MudTable 列扩展以适合文本

Nativewind 的某些样式不适用于本机 (Android),但它们适用于网络

条件宽度和省略号不适用于样式化组件 - React.js

CSS Grid 2 列和半高

Adobe Illustrator 删除我在 svg 图像上的类名.我怎样才能防止这种情况?

当我进入登录页面时,它处于桌面模式(响应式设计消失)

页脚上方的图像分隔线使用 ::before 伪元素

CSS类和id同名

是否可以删除悬停在链接上时出现的手形光标? (或将其设置为普通指针)

在响应式设计中指定 HTML 文本中的首选换行点

在CSS中将文本和 Select 框对齐到相同的宽度?

Angular 5 在某些类中添加了ng-star-inserted - 那是什么?

如何填充 100% 的剩余高度?

IE划掉伪元素CSS?

将 Web 字体转换和渲染为 base64 - 保持原始外观

虚拟键盘激活时的屏幕样式