перезагрузите значение по умолчанию после очистки локального хранилища в mithril.js - PullRequest
0 голосов
/ 18 мая 2019

Я храню настройки в localStorage, но как реализовать кнопку «сброс», если я хочу, чтобы она сбрасывалась до значения «по умолчанию».

<!doctype html><head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="//unpkg.com/mithril@next/mithril.min.js"></script>
</head>
<body>
<script>
var state = 'default'
var ConfigPage = {
  view: function(vnode) {
    return m('',
      m('input', {
    value: state,
    onchange: function(e) {
      state = e.target.value
      if (localStorage !== undefined) {
        var s = JSON.stringify(state)
        localStorage.setItem('t1', s)
      }
    }
      }),
      m('button',{onclick: function() {
    localStorage.clear();
      }}, "reset")
    )
  }
}
m.mount(document.body, {
  oninit: function(vnode) {
    if (localStorage !== undefined) {
      var v = localStorage.getItem("t1")
      if (v !== null) {
        state = JSON.parse(v)
      }
    }
  },
  view: function() {
    return m(ConfigPage)
  }
})
</script>
</body></html>
...