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

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

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

相关推荐
克里斯蒂亚诺更新6 分钟前
ruoyi切换新版本初始化需要修改的地方
前端·javascript·vue.js
前端那点事30 分钟前
Vite+Vue3环境判断终极解法!区分开发/生产环境,告别环境报错
前端·vue.js
zithern_juejin1 小时前
JS的防抖与节流
javascript
ZHIS1 小时前
移动端 Vue3 高清 PDF 预览组件开发:支持手势缩放 + 按钮缩放 + 加载进度
vue.js
candyTong1 小时前
如何写一个可以进化的前端系统验收 SKILL
javascript
Amy_yang2 小时前
uni-app 中 web-view 的使用与 App 端全屏问题处理
前端·javascript·vue.js
之歆2 小时前
DAY_17深度博客:CSS 响应式布局 · BFC · JavaScript 完全指南(上)
javascript·js
Highcharts.js2 小时前
Highcharts 纯 JavaScript 图表库深度使用评测
开发语言·前端·javascript·功能测试·ecmascript·highcharts·技术评测
ZC跨境爬虫2 小时前
跟着 MDN 学 HTML day_39:(DOMException 异常接口完全解析)
前端·javascript·html·媒体