Как сделать динамические поля на платформе Zapier? - PullRequest
0 голосов
/ 28 июня 2019

Я хочу создавать динамические поля на платформе Zapier.Если пользователь выбирает «Да», то отображаются 4-5 полей, в противном случае нет.Я видел этот тип примера в интеграции ZOHO CRM , где сначала отображаются только 2 поля .

В настоящее время есть только 2 поля.Когда мы выбираем «стандарт» в первом поле, многие поля отображаются / открываются. Вот все поля, которые отображаются

Аналогично этому, я хочу поле, в котором есть две опции: «Да» и «Нет».Если пользователь выберет Да, тогда должны открыться 4-5 полей (в противном случае - нет).Пользователь может использовать поля для отправки данных.

1 Ответ

0 голосов
/ 28 июня 2019

Документация по этому процессу есть здесь (скопировано ниже)

const recipeFields = (z, bundle) => {
  const response = z.request('http://example.com/api/v2/fields.json');
  // json is is [{"key":"field_1"},{"key":"field_2"}]
  return response.then(res => res.json);
};

const App = {
  //...
  creates: {
    create_recipe: {
      //...
      operation: {
        // an array of objects is the simplest way
        inputFields: [
          {
            key: 'title',
            required: true,
            label: 'Title of Recipe',
            helpText: 'Name your recipe!'
          },
          {
            key: 'style',
            required: true,
            choices: { mexican: 'Mexican', italian: 'Italian' }
          },
          recipeFields // provide a function inline - we'll merge the results!
        ],
        perform: () => {}
      }
    }
  }
};

В вашем случае вы замените поле style на ваше "да / нет".Функция recipeFields будет иметь оператор if, который проверяет значение bundle.inputData.style и либо возвращает больше объектов поля, либо [], в зависимости от того, нужно ли отображать больше полей.

...