Как правильно сбросить Vue Состав Api реактивных значений - PullRequest
2 голосов
/ 13 апреля 2020

Мне интересно, как мне сбросить реактив в настройке vuejs? (Я знаю, если изменить его на ref и использование view.value решит эту проблему, но для использования реактивного ответа на него должен быть ответ)

enter image description here

Ответы [ 2 ]

2 голосов
/ 29 апреля 2020

Вы можете использовать Object.assign:

  setup() {
    const initialState = {
      name: "",
      lastName: "",
      email: ""
    };

    const form = reactive({ ...initialState });

    function resetForm() {
      Object.assign(form, initialState);
    }

    function setForm() {
      Object.assign(form, {
        name: "John",
        lastName: "Doe",
        email: "john@doe.com"
      });
    }

    return { form, setForm, resetForm };
  }

Посмотреть вживую на codeandbox

кредиты: взято отсюда

1 голос
/ 27 апреля 2020

Ссылаясь с официального сервера Vueland Discord:

"Насколько я знаю, реактивный - это старый способ, которым мы используем реактивную реакцию из Classi c API, поэтому для сброса значений следует быть что-то вроде: "

const myData = reactive({
  foo: true,
  bar: ''
})

function resetValues () {
 myData.foo = true
 myData.bar = ''
}

Поэтому, если вы не измените свойства, вы сможете использовать Object.assign(). (Поправьте меня если я не прав)

...