You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lightning组件中如何获取复选框对应的fName值?

实现步骤

1. 修改模板代码,给复选框绑定对应fName的自定义数据属性

在<lightning-input>标签中添加data-fname={fName},让点击事件能直接关联到对应的文件夹名称:

<template if:true={allFolderNames}>
    <template for:each={allFolderNames} for:item="fName">
        <div key={fName}>
            <div class="container">
                <lightning-layout multiple-rows class="slds-list_horizontal">
                    <lightning-layout-item>
                        <!-- 添加data-fname属性传递fName值 -->
                        <lightning-input type="checkbox" onclick={getFolderID} data-fname={fName}></lightning-input>  
                    </lightning-layout-item>
                    <lightning-layout-item>
                        {fName}
                    </lightning-layout-item>
                </lightning-layout>
            </div>
        </div>
    </template>
</template>

2. 完善JS文件中的getFolderID函数

通过事件对象event获取自定义数据属性里的fName,同时可以判断复选框的选中状态,按需处理:

getFolderID(event) {
    // 获取当前复选框对应的文件夹名称
    const folderName = event.target.dataset.fname;
    // 判断复选框是否被选中
    const isChecked = event.target.checked;

    // 这里根据需求做后续操作,比如:
    if (isChecked) {
        console.log(`选中文件夹:${folderName}`);
        // 示例:将选中的名称存入响应式数组
        // this.selectedFolders.push(folderName);
    } else {
        console.log(`取消选中文件夹:${folderName}`);
        // 示例:从数组中移除取消选中的名称
        // this.selectedFolders = this.selectedFolders.filter(name => name !== folderName);
    }
}

额外注意

如果allFolderNames里存在重复的文件夹名称,不要用fName作为循环的key,改用每个文件夹的唯一标识(如记录ID),避免组件渲染异常。如果需要跟踪所有选中项,建议在组件中声明响应式属性(比如selectedFolders = [])来存储选中的名称集合。

内容的提问来源于stack exchange,提问作者user106835

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 07:33:20