新手来学习77 2024-09-14 17:03 采纳率: 0%
浏览 24
已结题

layui前端,table里的select标签不会更新

单件用料修改后会更新表格数据,面料选择后不会更新,这里打印了update格式为
materialtype
:
name
:
"里布"
value
:
"里布"
是正确的格式,但是表格上边不会更新,页面是表单,修改完所有在提交,不重载


  , {
                    field: 'materialtype', title: '面料', width: 150, event: 'materialtype',
                    config: {type: 'select', data: params, cascadeSelectField: 'materialname'}
                    , templet: function (data) {
                        return data.pz_csmaterial.materialtype;
                    }
                } , {
                    field: 'materialsize',
                    title: '单件用料',
                    width: 120,
                    event: 'materialsize',
                    config: {type: 'input', verify: {type: 'required'}}
                }
   aopTable.on('tool(tableEvent)', function (obj) {
            var field = obj.field; //单元格字段
            var value = obj.value; //修改后的值
            var data = obj.data; //当前行旧数据
            var event = obj.event; //当前单元格事件属性值
            var update = {};
            update[field] = value;

            //把value更新到行中
            obj.update(update);
            console.log(update)
           
        });
  • 写回答

1条回答 默认 最新

  • 一轮明月照丘壑 2024-09-14 17:04
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    从你给出的代码片段来看,你正在使用layui框架进行前端开发,并且在表格中使用了一个select组件和一个输入框组件。你在修改数据后想要更新表格中的数据,但发现select组件不会更新。问题可能出在以下几个方面:

    1. 数据绑定问题:你需要确保你的select组件的data属性(params)是否包含了最新的数据。如果你的数据源(可能是服务器端的接口返回的数据)更新后,你需要重新获取数据并更新params,这样才能确保select组件的数据是最新的。
    2. 更新方式问题:在layui的表格组件中,直接修改数据对象并不会触发表格的自动更新。你需要使用表格组件提供的方法来更新数据。你可以尝试使用reload方法来重新加载数据并更新表格。例如,你可以在修改数据后调用table.reload('yourTableId', {data: yourData})来重新加载数据。其中'yourTableId'是你的表格的ID,yourData是新的数据对象。
    3. 事件处理问题:你的事件处理函数aopTable.on('tool(tableEvent)', function (obj) {...})看起来是正确的,但你需要确保事件名称和触发事件的单元格字段是正确的。确保你的select组件所在的单元格的字段名与你在事件处理函数中使用的字段名一致。另外,确认你正确地触发了单元格的事件,如点击或修改数据等。

    请检查上述几点并相应地调整你的代码。如果问题仍然存在,你可以提供更多的代码或更详细的错误信息,以便我能更准确地帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月18日
  • 修改了问题 9月14日
  • 创建了问题 9月14日