如何以编程方式 select 并禁用 Paper Button?

How do I programatically select and disable a PaperButton?

我正在尝试从 Bootstrap 迁移到 Polymer/Paper,并且在很多情况下我必须 enable/disable 以前作为 ButtonElements 访问的按钮,然后.disabled=true/false。

因此,例如,我有一个纸质按钮,我正试图通过 querySelector 访问 enable/disable:

PaperButton nextWeekButton = querySelector("#nextweekbutton");
nextWeekButton.disabled=!_status;

但我收到错误消息:type 'HtmlElement' is not a subtype of type 'PaperButton' of 'nextWeekButton'.

如果我尝试使用 InputElementButtonElement,我会收到相同种类的消息。如果我尝试将其作为 HtmlElement 那么我当然会得到 "setter 'disabled' is not defined..."

我本来打算开始尝试属性设置,但真的不应该有像 ButtonElement 这样的方法吗?只是想确保我没有遗漏任何东西。

更新:目前我正在这样做

void disableButton(Element _e, bool _status) {
  if(!_status) {
    _e.setAttribute("disabled","true");
  } else {
    _e.attributes.remove("disabled");
  }
}

我很确定问题出在您的代码是在 Polymer 初始化之前执行的。请参阅 如何在具有自定义 main 方法时初始化 Polymer。