【发布时间】:2017-08-12 14:42:27
【问题描述】:
我在使用带有 JSView 和 Materialize 下拉按钮的链接模板时遇到问题。
第一次渲染视图,它工作正常,但是一旦我观察到更新按钮的状态,链接到按钮的 ul 标记就会从 DOM 中删除。
我在 JSFiddle 上创建了一个测试用例:here
<script id="test_template" type="text/x-jsrender">
{^{for tasks}}
<div class="dropdown change-state" style="display: block">
{^{if Status == 0}}
<a href="#" class="completed-state-box dropdown-button btn btn-flat red" data-constrainwidth="false" data-activates='review_status_dropdown-{{:Id}}'>NOT COMPLETE</a>
{{/if}}
{^{if Status == 1}}
<a href="#" class="completed-state-box dropdown-button btn btn-flat green" data-constrainwidth="false" data-activates='review_status_dropdown-{{:Id}}'>COMPLETE</a>
{{/if}}
<ul id="review_status_dropdown-{{:Id}}" class="dropdown-content">
<li><a class="state-change-button" href="#" data-value="0">NOT COMPLETE</a></li>
<li><a class="state-change-button" href="#" data-value="1">COMPLETE</a></li>
</ul>
</div>
{{/for}}
如果您在运行后单击一个按钮,它会很好地打开下拉菜单。如果您选择未设置的选项(即,将 COMPLETED 按钮设置为 NOT COMPLETE),它会更新 UI,但随着 ul 从 DOM 中移除,再次单击它不会显示下拉菜单。只有更新的按钮会受到影响。
谁能看出我哪里出错了?
【问题讨论】:
标签: materialize jsviews