指令判断数据更改,文本变色

默认数据是这样,如果更改了其中一个,文本框变成红色

html 复制代码
<el-form-item label="Activity name">
        <el-input
          v-model="form.name"
          v-highlight="datas['name']"
          @input="changeValue('name')"
        />
      </el-form-item>
      <el-form-item label="Activity zone">
        <el-select
          v-model="form.region"
          v-highlight="datas['region']"
          placeholder="please select your zone"
          @change="changeValue('region')"
        >
          <el-option label="Zone one" value="shanghai" />
          <el-option label="Zone two" value="beijing" />
        </el-select>
      </el-form-item>

v-highlight="datas['name']"

@input="changeValue('name')"

需要改变的item加入这2句话

javascript 复制代码
import Vue from "vue";
Vue.directive("highlight", {
  update: function (el, binding) {
    const classname = el.getAttribute("class");
    const elRef =
      classname == "el-input" ? el.children[0] : el.children[0].children[0];
    if (binding.value !== binding.oldValue) {
      elRef.style.color = binding.value ? "red" : "";
    }
  },
});

el.children[0] :和el.children[0].children[0]主要目的是找到input的元素,

数据:

form: {

name: "666",

region: "shanghai",

},

datas: { name: false, region: false },

changeValue(key) {

this.datas[key] = true;

},

讲当前更改的数据变成true即可

相关推荐
Liudef0620 小时前
DeepseekV3.2 实现构建简易版Wiki系统:从零开始的HTML实现
前端·javascript·人工智能·html
景早21 小时前
vue 记事本案例详解
前端·javascript·vue.js
乔冠宇1 天前
vue需要学习的点
前端·vue.js·学习
用户47949283569151 天前
同样是 #,锚点和路由有什么区别
前端·javascript
爱上妖精的尾巴1 天前
5-26 WPS JS宏数组元素添加删除应用
开发语言·前端·javascript·wps·js宏
是谁眉眼1 天前
wpsapi
前端·javascript·html
老华带你飞1 天前
商城推荐系统|基于SprinBoot+vue的商城推荐系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·商城推荐系统
JS.Huang1 天前
【JavaScript】Pointer Events 与移动端交互
前端·javascript
一 乐1 天前
物业管理系统|小区物业管理|基于SprinBoot+vue的小区物业管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端
H_HX1261 天前
vue3 - 图片放大镜效果实现
前端·vue.js·vue3·vueuse·图片放大镜