开发者社区> 问答> 正文

跪求大佬:自定义页面的关联表单组件传参问题

自定义页面的表格,如何点击表格操作列的按钮,跳转新页面时,将这条表格的信息一个字段信息,传参到新页面的关联表单(关联表单的主标题为这条数据的那个字段)。

展开
收起
1848386703547692 2023-11-05 20:50:03 147 0
来自:钉钉宜搭
5 条回答
写回答
取消 提交回答
  • 路由跳转(实现跳转新页面):this.utils.router.push(path, {要携带的参数【对象格式key:value】}, true, true, 'replace');
    宜搭的路由跳转携带参数都是拼接在url后面的,按照key直接取就好了this.utils.router.getQuery('key值')
    取到值之后就按照关联表单的格式setValue就好了
    不知道关联表单的格式可以getValue查看下
    这些很常见的场景宜搭都封装好了API的,直接调用就可以了,没必要调用一大堆jsApi

    2023-11-15 17:10:47
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    自定义页面中表格属性中添加数据源可显示详情,方法有两个:一是直接将远程数据源添加到此表格的“数据源”(表格字段名须与返回字段同名);二是设定两个全局变量,一个是远程的用来获取数据,一个的普通的全局变量用来存储中转数据,最后将这个普通的全局变量绑定到表格“数据源”,表格中字段名和返回的字段名可相同也可不同。具体如下说明:

    在数据源处添加的变量是全局变量,可以作为中间值完成后台和前端的数据传递。具体:通过添加“远程变量”,获得后台数据赋值给全局变量用“:”,键和值的格式,表格组件添加数据源来绑定这个全局变量,表格中字段名和远程获得数据的字段名相同时,系统可自动匹配到各字段;如果不同就需要手动一一对应分别赋值用“:”。注:即远程变量获得数据值,再赋值给全局变量(添加普通变量,作为中间值),表格绑定这个全局变量。

    2023-11-06 17:33:13
    赞同 1 展开评论 打赏
  • 北京阿里云ACE会长

    要实现这个功能,可以使用前端JavaScript技术实现。以下是可能的实现步骤:

    1. 为表格的操作列按钮添加点击事件监听器,当按钮被点击时,触发一个函数。
    2. 在这个函数中,获取当前行的数据,并将其存储在一个变量中。
    3. 调用一个跳转函数,将当前页跳转到新页面,并将存储了当前行数据的变量作为参数传递给这个函数。
    4. 在新页面的关联表单中,根据传递过来的参数,设置主标题为当前行数据的那个字段。
      下面是一个简单的示例代码:

    // 表格操作列按钮点击事件监听器
    table.addEventListener('click', function(event) {
    // 获取当前行数据
    var rowData = table.getRowData(event.target.parentElement.parentElement.rowIndex);
    // 跳转函数
    function jumpToNewPage(rowData) {
    // 跳转到新页面,并将当前行数据作为参数传递
    window.location.href = 'new-page.html?data=' + encodeURIComponent(JSON.stringify(rowData));
    }
    // 调用跳转函数
    jumpToNewPage(rowData);
    });
    CopyCopy

    在新页面的关联表单中,可以使用以下代码来根据传递过来的参数设置主标题:

    // new-page.html
    <!DOCTYPE html>





    {{ data.title }}






    CopyCopy

    在这个示例中,data是一个对象,它包含了从旧页面传递过来的当前行数据。

    2023-11-06 08:03:08
    赞同 展开评论 打赏
  • 您好!为了实现自定义页面表格中点击操作列按钮跳转新页面,并将选中数据的一个字段您好!为了实现自定义页面表格中点击操作列按钮跳转新页面,并将选中数据的一个字段信息作为参数传递给新页面的关联表单组件,您可以按照以下步骤进行操作:

    1. 首先,确保您已创建自定义页面和关联表单组件。如果还未创建,请进入已创建好的应用,点击页面左上角的"+"号,然后选择新建自定义页面。

    2. 在自定义页面的表格中,为操作列的按钮添加点击事件。当点击该按钮时,获取当前选中行的数据。

    3. 使用关联表单组件的dataFill方法,将选中行的数据填充到关联表单中。具体地,您可以设置填充条件,例如将选中数据的某个字段填充到关联表单的主标题中。

    4. 在关联表单组件的配置中,设置其主标题为需要传递的字段信息。这样,当从自定义页面跳转并填充数据时,关联表单的主标题会自动更新为选中数据的那个字段。

    5. 最后,为关联表单设置提交按钮,并在其点击事件中处理表单提交逻辑。

    2023-11-05 22:18:33
    赞同 1 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    要实现这个功能,你可以采用以下步骤:

    1. 在点击操作列的按钮时,获取当前行的所有数据,并且保存到某个变量中。这可以通过JavaScript来实现,例如,你可以使用jQuery的$(this).closest('tr').find('td').text()来获取当前行的所有文本内容。
    2. 创建一个超链接,当用户点击这个超链接时,将上面保存的数据作为参数传递给新页面。这可以通过修改超链接的href属性来实现,例如:<a href="newpage.html?field1=value1&field2=value2">Link</a>
    3. 在新页面上,从URL中解析出传递过来的参数,并将其显示在关联表单的主标题中。这可以通过JavaScript的window.location.search来获取URL的查询字符串,并且通过splitforEach等函数来解析出参数和其对应的值。

    以下是代码示例:

    // 在旧页面上
    var rowData = $(this).closest('tr').find('td').text();
    var url = 'newpage.html';
    for (var i = 0; i < rowData.length; i++) {
        var pair = rowData[i].split('=');
        url += '&' + pair[0] + '=' + pair[1];
    }
    $(this).attr('href', url);
    
    // 在新页面上
    var queryStr = window.location.search.substring(1);
    queryStr.split('&').forEach(function(pair) {
        var keyValue = pair.split('=');
        if (keyValue[0] == 'yourField') { // 将 yourField 替换为你要展示的字段名
            $('#yourTitle').html(keyValue[1]); // 将 yourTitle 替换为你关联表单的主标题元素ID
        }
    });
    

    注意:这里的示例代码只是一个基础的实现思路,你可能需要根据实际的需求和现有的代码结构进行适当的修改和扩展。

    2023-11-05 21:59:01
    赞同 展开评论 打赏
问答分类:
问答地址:
关联地址:
来源圈子
更多
收录在圈子:
+ 订阅
「宜搭」是云钉原生低代码平台(钉钉 PaaS - aPaaS),让企业应用搭建更简单! 帮助中小企业降本提效,加强组织的数字化自主权; 帮助大型企业释放个体创新力,助力组织创新涌现。
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载