formkit-react
Version:
FormKit is a React library for building forms with ease.
26 lines (25 loc) • 939 B
JavaScript
import React, { useEffect, useRef } from 'react';
export default function FormKitController(_a) {
var name = _a.name, render = _a.render;
var _b = React.useState({}), value = _b[0], setValue = _b[1];
var ref = useRef(null);
useEffect(function () {
var element = ref.current;
if (!element)
return;
var handleSetValue = function (event) {
var value = event.detail.value;
setValue(value);
};
element.addEventListener('formkit:setValue', handleSetValue);
return function () {
element.removeEventListener('formkit:setValue', handleSetValue);
};
}, []);
return (React.createElement("div", { "data-formkit-controller": true, "data-name": name, "data-value": JSON.stringify(value), ref: ref }, render({
value: value,
onChange: function (newValue) {
setValue(newValue);
}
})));
}