Очистка введенных значений

Порой необходимо очистить значение, которое пользователь ввел по ошибке. Это может понадобиться, когда у вас есть несколько "веток" вопросов с разными вариантами ответов в каждой из них. Пользователь может сначала дать ответы в одной ветке, а потом передумать и дать другой.

Чтобы очистить введенные значения, используйте действие action.set и конструкцию { "$empty": true }. Вызывать это действие можно по кнопке или по триггеру.

Пример

Допустим, вы спрашиваете пользователя, кого он больше любит, кошек или собак. Затем вы просите его выбрать любимую породу, это поле у вас обязательное.

Возможна ситуация, что указав породу, пользователь поменяет свой выбор животного и в результатах вы получите ответы: животное — кошка, порода — такса.

Посмотреть пример с ошибкой в песочнице.

Чтобы исправить это, надо добавить код для очистки данных о породе (breed) при выборе другого животного (animal):

"plugins": [
  {
    "type": "plugin.trigger",
    "onChangeOf": {
      "type": "data.output",
      "path": "animal"
    },
    "action": {
      "type": "action.set",
      "data": {
        "type": "data.output",
        "path": "breed"
      },
      "payload": {
        "$empty": true
      }
    }
  }
]

Посмотреть исправленный пример с очисткой по триггеру.