我现在这样做，不提供 toggle 接口，这个接口是原来的代码提供的， 使用者可以用 toggleState 去做，这样也符合用属性来控制界面的思想。 代码触发变化不提供事件，如果真有需要，基础控件可以自己像 dom 一样提供通用的 propertychange 事件。