vue3.0数据驱动问题

页面中含apikey,需要脱敏,手动隐藏和显示。但是切换时隐藏和显示的文本无法切换。

问题原因: 渲染层无法接收到按钮文本变量。
解决方法: 将变量添加到返回值即可。const apiKeyMasked = ref(true); // 绑定配置详情中的API Key是否脱敏 const resultApiKeyMasked = ref(true);

json 复制代码
<template>
  <el-dialog v-model="visible" title="Dify API测试" width="90%" :close-on-click-modal="false">
    <el-form :model="form" label-width="140px" size="default">
      ...
      <!-- 绑定配置详情展示(只读) -->
      <div v-if="selectedBindingInfo" class="binding-info-section">
        <el-divider content-position="left">绑定配置详情</el-divider>
        <el-descriptions :column="2" border>
          ...
          <el-descriptions-item label="API Key">
            <div style="display: flex; align-items: center; gap: 8px">
              <span>{{ displayApiKey(selectedBindingInfo.apiKeyName, selectedBindingInfo.apiKeyFull, false) }}</span>
              <el-button
                v-if="selectedBindingInfo.apiKeyFull"
                link
                type="primary"
                size="small"
                @click="toggleApiKeyMask">
                {{ apiKeyMasked ? '显示' : '隐藏' }}
              </el-button>
            </div>
          </el-descriptions-item>
          <el-descriptions-item label="工作流ID">
            {{ selectedBindingInfo.workflowId || '-' }}
          </el-descriptions-item>
          <el-descriptions-item label="完整提示词ID" :span="2">
            {{ selectedBindingInfo.completePromptId || '-' }}
          </el-descriptions-item>
        </el-descriptions>
      </div>
      ...
    </el-form>

    <!-- 测试结果 -->
    <div v-if="testResult" class="test-result">
      <el-divider>测试结果</el-divider>

      <!-- API配置信息 -->
      <el-descriptions title="使用的API配置" :column="2" border>
        <el-descriptions-item label="API名称">
          {{ testResult.apiConfigUsed?.apiName }}
        </el-descriptions-item>
        <el-descriptions-item label="API地址">
          {{ testResult.apiConfigUsed?.apiUrl }}
        </el-descriptions-item>
        <el-descriptions-item label="API Key">
          <div style="display: flex; align-items: center; gap: 8px">
            <span>{{
              displayApiKey(testResult.apiConfigUsed?.apiKeyName, testResult.apiConfigUsed?.apiKeyFull, true)
            }}</span>
            <el-button
              v-if="testResult.apiConfigUsed?.apiKeyFull"
              link
              type="primary"
              size="small"
              @click="toggleResultApiKeyMask">
              {{ resultApiKeyMasked ? '显示' : '隐藏' }}
            </el-button>
          </div>
        </el-descriptions-item>
        ...
      </el-descriptions>

  </el-dialog>
</template>

<script>
import { ref, watch, onMounted, computed } from 'vue';
...
export default {
  name: 'DifyTestDialog',
  props: {
    modelValue: {
      type: Boolean,
      default: false
    }
  },
  emits: ['update:modelValue'],
  setup(props, { emit }) {
    ...
    // API Key脱敏控制
    const apiKeyMasked = ref(true); // 绑定配置详情中的API Key是否脱敏
    const resultApiKeyMasked = ref(true); 
    ...

    // 初始化
    onMounted(() => {
      loadBindingConfigs();
    });

    return {
      ...
      resultApiKeyMasked,
      resultColumns
    };
  }
};
相关推荐
m0_650108247 天前
Lift, Splat, Shoot:自动驾驶多视图相机的 BEV 语义表示学习
论文阅读·自动驾驶·数据驱动·lss·纯视觉bev感知·bev 语义分割·可解释的端到端轨迹规划
程楠楠&M7 天前
h5页面 调用手机,pda摄像头
智能手机·h5·摄像头·vue3.0
世洋Blog20 天前
开发思想-(数据驱动+组合模式)VS 继承
unity·组合模式·数据驱动
云雾J视界1 个月前
AI驱动半导体良率提升:基于机器学习的晶圆缺陷分类系统搭建
人工智能·python·机器学习·智能制造·数据驱动·晶圆缺陷分类
数在表哥2 个月前
从数据孤岛到智能决策:数据驱动+AI如何重构企业运营的技术路径与方法论(一)
人工智能·重构·数据驱动·企业运营
有颜有货6 个月前
什么是数据驱动?以及我们应如何理解数据驱动?
信息可视化·数据驱动
预测及优化6 个月前
新能源集群划分+电压调节!基于分布式能源集群划分的电压调节策略!
分布式·能源·强化学习·数据驱动·综合能源·集群划分·电压调整
零凌林10 个月前
vue3中解决组件间 css 层级问题最佳实践(Teleport的使用)
前端·css·vue.js·新特性·vue3.0·teleport
friend_ship1 年前
Vue3.0都有哪些新特性及优化点
vue.js·vite·vue3.0·es6新特性·proxy响应式对象