как показать пин-коды в отсортированном порядке на размытие в реакции? - PullRequest
0 голосов
/ 07 февраля 2020

Я использую react-hook-form. У меня есть пин-код textarea, в который пользователь может ввести pincodes, Теперь я хочу проверить мое значение на blur среднее значение пин-кода должно быть 6 ди git и присутствует в порядок сортировки.

onblur событие не работает должным образом? вот мой код https://codesandbox.io/s/react-hook-form-get-started-v24jk

<TextField
        inputRef={register}
        label={"pincode"}
        variant="outlined"
        placeholder={"dd"}
        multiline={true}
        rows="4"
        rowsMax="12"
        name={"pincode"}
        onBlur={v => {
          console.log(v);
          function onlyUnique(value, index, self) {
            return self.indexOf(value) === index && value.trim().length === 6;
          }

          if (v) {
            let codes = v.split(",");
            let newCodes = codes.filter(onlyUnique);
            return newCodes.sort().join(",");
          }
          return "";
        }}
      />

Форма реагирующего крючка API https://react-hook-form.com/api

1 Ответ

0 голосов
/ 07 февраля 2020
onBlur={v => {...}

Ваша переменная v представляет объект события для события onBlur. Вы можете получить значение из textarea из v.target.value. v.target.value.split(",") должно работать, хотя вы можете получить пустую строку в вашем массиве, если введен только один PIN-код.

...