能否通过变量为JS插件传入不同配置选项?
这种实现方式完全可行
你当前的代码逻辑是通过条件判断生成不同的配置对象,再将其传入Choices插件的构造函数,这是动态配置插件的常规且有效的做法,完全能满足不同场景下传入不同配置的需求。
可以优化的点
如果你的条件判断逻辑比较简单,还可以用三元表达式简化代码结构,让代码更紧凑:
const options = something ? { itemSelectText: 'Some text', searchPlaceholderValue: 'Search for something' } : { itemSelectText: 'Some other text', searchPlaceholderValue: 'Search for something else' }; const choices = new Choices(dropdown, options);
另外,你提到要为页面中每个元素实例触发插件,这里可以补充多元素的处理方式,比如通过循环遍历所有目标元素,再根据每个元素的特性生成对应配置:
// 假设所有目标元素都有.dropdown类 document.querySelectorAll('.dropdown').forEach(dropdown => { // 可根据元素的自定义属性、位置等判断场景 const something = dropdown.dataset.scenario === 'default'; const options = something ? { itemSelectText: 'Some text', searchPlaceholderValue: 'Search for something' } : { itemSelectText: 'Some other text', searchPlaceholderValue: 'Search for something else' }; new Choices(dropdown, options); });
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

