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
    };
  }
};
相关推荐
力学与人工智能3 天前
AIAAJ | 西工大常宝辉、李楠等:基于径向基函数神经网络的激波串数据驱动控制方法研究
人工智能·深度学习·神经网络·数据驱动·径向基函数·激波·控制方法
明航咨询—张老师11 天前
告别文档堆砌,CMMI V3.0 如何让敏捷开发真正落地
敏捷开发·devops·数据驱动·cmmi v3.0
Rubin智造社19 天前
智读致用|《谷歌亚马逊如何做产品》6|赢在数据驱动:抓住核心指标,就能让产品“开口说话”
数据驱动·核心指标·谷歌亚马逊工作法·产品决策·让产品开口说话·智读致用·初创公司运营
Lab_AI2 个月前
深度 | 电子材料研发(光刻胶/OLED等)迈入智能时代,当电子材料研发进入“GPT时代”,企业该如何重构创新引擎?
数据驱动·电子材料·光刻胶材料·oled材料·实验智能体·电子材料研发
开发者工具分享3 个月前
如何利用“工时统计”来优化后续排期?
数据驱动·资源管理·流程优化
Light604 个月前
星火燎原:领码SPARK如何点燃企业项目集管理的“智慧之眼”?
数据驱动·可视化看板·智能分析·领码spark·项目集管理
七夜zippoe4 个月前
属性测试革命:Hypothesis框架深度实战指南
python·性能测试·数据驱动·hypothesis·状态机测试
xixixi777774 个月前
算力-模型-数据三位一体:AI时代的“不可能三角”与“飞轮引擎”
人工智能·ai·大模型·算力·模型·数据·数据驱动
消失的旧时光-19435 个月前
数据驱动 vs 流程驱动:前端与 Flutter 的两种架构主线
前端·数据驱动·流程驱动·架构思想
superman超哥5 个月前
Rust Profile-Guided Optimization(PGO):数据驱动的极致性能优化
开发语言·后端·性能优化·rust·数据驱动·pgo