Material Design LinearProgress 组件的工作示例

Abe*_*ejo 4 html javascript material-components-web

附件是尝试制作线性进度组件的工作原型的伪代码。

HTML

<script src="https://unpkg.com/material-components-web@0.42.1/dist/material-components-web.min.js"></script>
...
<div role="progressbar" class="mdc-linear-progress" id="my-progress-bar">
    <div class="mdc-linear-progress__buffering-dots"></div>
    <div class="mdc-linear-progress__buffer"></div>
    <div class="mdc-linear-progress__bar mdc-linear-progress__primary-bar">
        <span class="mdc-linear-progress__bar-inner"></span>
    </div>
    <div class="mdc-linear-progress__bar mdc-linear-progress__secondary-bar">
        <span class="mdc-linear-progress__bar-inner"></span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript

const overallProgress = mdc.linearProgress.MDCLinearProgress.attachTo(document.getElementById('my-progress-bar'));
overallProgress.setProgress(0.5);
Run Code Online (Sandbox Code Playgroud)

上述代码旨在显示 50% 的进度。原型没有功能。它的哪一部分可能出错了?以下参考资料是我从官方参考文件中获得的最好的参考资料。

参考

  1. 线性进度,网页材料设计
  2. 线性进度演示,Web 材料设计

Abe*_*ejo 5

TL; 博士

只需将 JavaScript 行替换overallProgress.setProgress(0.5);overallProgress.progress=0.5;

细节

我挖掘了MDCLinearProgress源代码,结果发现它是使用JavaScript 函数 setters 实现的。函数设置器的工作方式是在类中声明为方法,但实际设置值是将其视为属性。

因此,不要使用setProgress(value),而是将其替换为progress=value