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

1.0.0-alpha3版本无jQuery自动完成Chips组件初始化失败

解决Materialize 1.0.0-alpha3 Chips自动完成报错问题

这个TypeError: Cannot read property '0' of null的报错我之前在使用Materialize alpha3版本时也碰到过,本质是该版本对Chips组件的自动完成配置做了细节调整,和alpha2版本的兼容逻辑不一样。

问题根源

在1.0.0-alpha2版本中,autocompleteOptions.data允许用null作为键值对的值,但alpha3版本里,这个值必须是字符串类型(空字符串也可以),否则组件初始化时会因为无法读取预期属性而抛出错误。

修改后的可运行代码

HTML部分(保持原有结构即可)

<div class="row">
  <div class="col s12 m6">
    Groups:
    <div class="chips chips-autocomplete-groups">
    </div>
  </div>
</div>

JS部分(调整data值为字符串格式)

document.addEventListener('DOMContentLoaded', function() {
  var elem = document.querySelector('.chips-autocomplete-groups');
  if (elem != null) {
    var insChipAC = M.Chips.init(elem, {
      placeholder: 'Enter a group',
      secondaryPlaceholder: '+Group',
      autocompleteOptions: {
        data: {
          'Alex': '',
          'Brandy': '',
          'Charlie': ''
        },
        limit: Infinity,
        minLength: 1
      }
    });
  }
});

额外提示

建议把初始化代码放在DOMContentLoaded事件回调里,确保DOM完全加载后再初始化组件,能避免元素未找到这类潜在问题;另外也可以检查下Materialize的CSS和JS资源是否正确引入,alpha3版本的资源路径是否无误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:01:28