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

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

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即可

相关推荐
介si啥呀~12 分钟前
Vuex 的使用场景和使用方法
前端·javascript·vue.js·vuex
远方小镇15 分钟前
抖音开放平台-业务架构招前端
前端·javascript·面试
关二哥拉二胡38 分钟前
前端的 AI 应用开发系列四:智能体Agent的发展历程
前端·javascript
best66639 分钟前
JS数组遍历方法这么多,for/forEach/forof我该怎么选?
前端·javascript
迷途小码农零零发1 小时前
createContext+useContext+useReducer组合管理React复杂状态
前端·javascript·react.js
YiHanXii1 小时前
React中的跨组件通信
前端·javascript·react.js
明天不下雨(牛客同名)2 小时前
Completablefuture的底层原理是什么
java·开发语言·前端·javascript
前端Hardy2 小时前
HTML&CSS:3D加载动画的实现
javascript·css·html
前端Hardy2 小时前
HTML&CSS:用Three.js创造3D书本世界
javascript·css·html
很酷爱学习2 小时前
对闭包的理解?使用场景?注意事项?
javascript