首页 > 其他分享 >【VUE】页面跳转实现动态样式控制

【VUE】页面跳转实现动态样式控制

时间:2025-01-14 16:55:21浏览次数:1  
标签:VUE const form column dataIndex 跳转 action columns 页面

【VUE】父子组件联动实现动态样式控制


跳转得到的参数大概有这些:

    handleToPage: function (action, id, key = "form", queryParam = {}) {
      this.$router.push({
        path: `${this.routeKey}/${key}/${action}${id ? "/" + id : ""}`,
        query: queryParam
      });
    }

首先要接收用得上的参数

  mounted () {
    const action = this.$route.params.action;
    this.isShowStar = action === "add" || action === "edit";
    this.updateColumnClasses();
  },

编写对应的方法

 updateColumnClasses: function () {
      // 指定需要添加样式的列
      const requiredColumns = [影响的列];
      // 函数:更新指定列数组中的类名
      const updateRequiredClassForColumns = (columns) => {
        columns.forEach(column => {
          if (requiredColumns.includes(column.dataIndex)) {
            column.className = this.isShowStar ? "form-table-col--required" : "";
          }
        });
      };
      // 更新所有相关列的样式
      updateRequiredClassForColumns(this.被操作列表);
    }
  }

比如:

   columns: [
        {
          title: "#",
          dataIndex: "",
          key: "rowIndex",
          width: 60,
          align: "center",
          customRender: function (t, r, index) {
            return parseInt(index) + 1;
          }
        },
        {
          title: "费用类型",
          align: "center",
          width: 250,
          dataIndex: "type",
          // class: "form-table-col--required",
          className: "",
          scopedSlots: { customRender: "type" }
        },
        {
          title: "报销金额(元)",
          align: "center",
          width: 250,
          // class: "form-table-col--required",
          className: "",
          dataIndex: "recipientAmount",
          scopedSlots: { customRender: "recipientAmount" }
        },
        {
          title: "报销详情",
          align: "center",
          // class: "form-table-col--required",
          className: "",
          dataIndex: "detail",
          scopedSlots: { customRender: "detail" }
        }
      ],

对应着

    updateColumnClasses: function () {
      // 指定需要添加样式的列
      const requiredColumns = ["type", "recipientAmount", "detail"];
      // 函数:更新指定列数组中的类名
      const updateRequiredClassForColumns = (columns) => {
        columns.forEach(column => {
          if (requiredColumns.includes(column.dataIndex)) {
            column.className = this.isShowStar ? "form-table-col--required" : "";
          }
        });
      };
      // 更新所有相关列的样式
      updateRequiredClassForColumns(this.columns);
    }

标签:VUE,const,form,column,dataIndex,跳转,action,columns,页面
From: https://www.cnblogs.com/zwj/p/18671113

相关文章

  • vue指令-防抖
     //1.设置v-throttle自定义指令Vue.directive('throttle',{bind:(el,binding)=>{letthrottleTime=binding.value;//防抖时间if(!throttleTime){//用户若不设置防抖时间,则默认2sthrottleTime=2000;}letcbFun;el.addEvent......
  • vue-easy-tree解决大量数据卡死问题 虚拟滚动
    //定义一个函数来遍历树形数据并设置节点的checked、半选和disabled状态setNodeStates(nodes,selectedIds){consttreeRef=this.$refs["from-tree"];//获取vue-easy-tree的引用if(treeRef){nodes.forEach(node=>{constisSelected......
  • 【VUE】父子组件联动实现动态样式控制
    相关组件:父组件:src/views/erp/contract/Form.vue子组件:src/views/erp/contract/modules/PlanTable.vue实现思路:1.根据已有的isEdit判断状态是不是编辑或者新增,将状态传递给子组件2.子组件根据状态来决定是否添加星号样式具体方法:1.将原来的固定样式,改为动态样式{title......
  • 基于SpringBoot+Vue的大型超市数据处理系统的设计与实现(源码+lw+部署+讲解)
    文章目录1.前言2.详细视频演示3.具体实现截图4.技术可行性分析5.技术简介5.1后端框架SpringBoot5.2前端框架Vue5.3系统开发平台6.系统架构设计7.程序操作流程8.业务流程设计9.为什么选择我们9.1自己的公众号9.2海量实战案例10.代码参考11.数据库参考12.源码及文档获取......
  • 如何在网页中嵌入外部页面并确保SEO友好
    在现代网页开发中,使用 <iframe> 标签是一种常见的嵌入外部页面的方法。为了确保嵌入的内容对搜索引擎优化(SEO)友好,以下是详细的说明和最佳实践。<iframe> 标签的基本用法<iframe> 标签用于在当前页面中嵌入另一个HTML文档。其基本语法如下:src:指定要嵌入的页面URL。width......
  • 如何在网页中嵌入外部页面使用 <iframe> 标签,并符合 SEO 标准?
    在网页中嵌入外部页面可以使用 <iframe> 标签,但需要注意以下几点以符合SEO标准:使用 title 属性:为 <iframe> 添加 title 属性,以便搜索引擎理解嵌入内容的用途。设置 sandbox 属性:使用 sandbox 属性限制嵌入页面的行为,提高安全性。设置 allow 属性:明确允许嵌入......
  • Webview2动态设置页面video的Blob进行播放
    Webview2动态设置页面video的Blob进行播放 <Windowx:Class="WpfApp2.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="ht......
  • vue项目利用vite打包发版,前端页面自动提示用户刷新页面
    概要        我们做一个纯前端自动提示用户刷新页面的功能,这个功能主要是防止用户的js代码还是旧版的导致某些功能没能及时更新。整体架构流程1、我们先在public/version.json创建这个json文件,用来存储版本号{"version":"1.0"}2、我们可以在vite.config.j......
  • 获取访问页面数据
    获取访问页面数据调试工具接口应在服务器端调用,详细说明参见服务端API。本接口支持云调用。需开发者工具版本>=1.02.1904090(最新稳定版下载),wx-server-sdk>=0.4.0接口说明接口英文名getVisitPage功能描述该接口用于访问页面。目前只提供按page_visit_pv排序的t......
  • From表单提交时为什么会刷新页面?怎么预防刷新?
    From表单提交时会刷新页面,主要是因为表单提交是一种网络请求操作,当表单被提交时,浏览器会向服务器发送请求,服务器处理表单数据后返回一个新的页面,这个过程导致页面刷新,以展示服务器返回的新内容。要预防From表单提交时的页面刷新,可以采取以下几种方法:使用AJAX技术:AJAX(Asynchrono......