{"_id":"@icedesign/form-binder","_rev":"51-05cfb27b416a9ff0d2be94f62d76ef46","name":"@icedesign/form-binder","description":"ICE 表单数据获取方案","dist-tags":{"latest":"1.0.7","beta":"1.0.7-0"},"versions":{"0.1.0":{"name":"@icedesign/form-binder","version":"0.1.0","description":"ICE 表单数据获取方案","main":"lib/index.js","files":["lib/","theme/","demo/"],"author":{"name":"ICE Team","email":"ice-admin@alibaba-inc.com"},"repository":{"type":"git","url":"git+https://github.com/alibaba/ice.git"},"license":"ISC","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"^0.1.0","async-validator":"^1.8.1","classnames":"^2.2.5","prop-types":"^15.5.8"},"devDependencies":{"@icedesign/skin":"^0.1.2","babel-eslint":"^8.0.3","eslint":"^4.13.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-babel":"^4.1.1","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1"},"typings":"lib/index.d.ts","scripts":{"lint":"eslint . --ext '.js,.jsx' --fix","prepublish":"npm run lint"},"bugs":{"url":"https://github.com/alibaba/ice/issues"},"homepage":"https://github.com/alibaba/ice#readme","_id":"@icedesign/form-binder@0.1.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"zeroling","email":"wssgcg1213@qq.com"},"dist":{"integrity":"sha512-/uU//4bz+5CFZevU0S1TuCI3rUXkwJKjtEIEj/lNGwNPtVsHrljOntcz1zSQTmFAcaNch2CEVZQrwXPo/f8z2g==","shasum":"366e5335eaed4c9860cbaf8b028197bea3e0b218","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDD5oU2OUaWxa0TTTXirGpaopaeIpiIDC4LhsQxSGg0VAiEAqfLktk3proZ3sdu2rpe8UNg/Xxp/TlgVFEGCJKcEDQo="}]},"maintainers":[{"name":"zeroling","email":"wssgcg1213@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder-0.1.0.tgz_1514271316604_0.31402881792746484"},"directories":{}},"0.1.1":{"name":"@icedesign/form-binder","version":"0.1.1","description":"ICE 表单数据获取方案","main":"lib/index.js","files":["lib/","theme/","demo/"],"author":{"name":"ICE Team","email":"ice-admin@alibaba-inc.com"},"repository":{"type":"git","url":"git+https://github.com/alibaba/ice.git"},"license":"ISC","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"^0.1.0","async-validator":"^1.8.1","classnames":"^2.2.5","prop-types":"^15.5.8"},"devDependencies":{"@icedesign/skin":"^0.1.2","babel-eslint":"^8.0.3","eslint":"^4.13.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-babel":"^4.1.1","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1"},"typings":"lib/index.d.ts","scripts":{"lint":"eslint . --ext '.js,.jsx' --fix","prepublish":"npm run lint"},"bugs":{"url":"https://github.com/alibaba/ice/issues"},"homepage":"https://github.com/alibaba/ice#readme","_id":"@icedesign/form-binder@0.1.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"zeroling","email":"wssgcg1213@qq.com"},"dist":{"integrity":"sha512-6H80RAerwrcon0EbiXIqS9xwpSnEXq7QSptd2eDdzKta2sxZ+mrIZ4CXAqDHzUkHUN0g/raBbrmFfvW9BGYfoA==","shasum":"27ca000e5b337aaa22402510a49d17229b505c30","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQChvMpEmFaI+/DWgfvKdy22mOJWi3pxlrVJYERqdNt88wIgKHPJgjE3ZIgTAiftvxMOGdwwYtIZKofzRNNAZpq/0Oc="}]},"maintainers":[{"name":"chenbin93","email":"chenbinad@gmail.com"},{"name":"noyobo","email":"noyobo@gmail.com"},{"name":"zeroling","email":"wssgcg1213@qq.com"},{"name":"yujiangshui","email":"yujiangshui@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder-0.1.1.tgz_1514288658125_0.37899061338976026"},"directories":{}},"0.1.2":{"name":"@icedesign/form-binder","version":"0.1.2","description":"ICE 表单数据获取方案","main":"lib/index.js","files":["lib/","theme/","demo/"],"author":{"name":"ICE Team","email":"ice-admin@alibaba-inc.com"},"repository":{"type":"git","url":"git+https://github.com/alibaba/ice.git"},"license":"ISC","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"^0.1.0","async-validator":"^1.8.1","classnames":"^2.2.5","prop-types":"^15.5.8"},"devDependencies":{"@icedesign/skin":"^0.1.2","babel-eslint":"^8.0.3","eslint":"^4.13.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-babel":"^4.1.1","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1"},"typings":"lib/index.d.ts","scripts":{"lint":"eslint . --ext '.js,.jsx' --fix","prepublish":"npm run lint"},"bugs":{"url":"https://github.com/alibaba/ice/issues"},"homepage":"https://github.com/alibaba/ice#readme","_id":"@icedesign/form-binder@0.1.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.1","_npmUser":{"name":"zeroling","email":"wssgcg1213@qq.com"},"dist":{"integrity":"sha512-e4qDGc9aUEznpVOoCpQr79IkU+VFrQUsTBhEA1vPT1MC9M/g9aR1KzKvY7l7wVPlxOwBmfarG0udrZ2sTy055A==","shasum":"93a4a7cd28f04b1c30ece747027dae261d7dc577","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCv1nWuQ/7IInW26KRHGwT9L8xrPEw0PeRuv2n+wrzqsAIgDhMq8b7vnt36yMrKozdt+OdD0HxOSFoJ/OzyHRxEKG4="}]},"maintainers":[{"name":"chenbin93","email":"chenbinad@gmail.com"},{"name":"noyobo","email":"noyobo@gmail.com"},{"name":"zeroling","email":"wssgcg1213@qq.com"},{"name":"yujiangshui","email":"yujiangshui@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder-0.1.2.tgz_1514878437225_0.037085070041939616"},"directories":{}},"0.1.3-0":{"name":"@icedesign/form-binder","version":"0.1.3-0","description":"ICE 表单数据获取方案","main":"lib/index.js","files":["lib/","theme/","demo/"],"author":{"name":"ICE Team","email":"ice-admin@alibaba-inc.com"},"repository":{"type":"git","url":"git+https://github.com/alibaba/ice.git"},"license":"ISC","keywords":["ice","ice-component"],"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"classnames":"^2.2.5","@icedesign/base":"^0.1.0","@icedesign/skin":"^0.1.2","babel-eslint":"^8.0.3","eslint":"^4.13.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-babel":"^4.1.1","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1"},"typings":"lib/index.d.ts","scripts":{"lint":"eslint . --ext '.js,.jsx' --fix","prepublish":"npm run lint"},"bugs":{"url":"https://github.com/alibaba/ice/issues"},"homepage":"https://github.com/alibaba/ice#readme","_id":"@icedesign/form-binder@0.1.3-0","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"yujiangshui","email":"yujiangshui@gmail.com"},"dist":{"integrity":"sha512-DUtv+ZeCGsb7p7G+THbcTFH/s29y8SNeJ/1NEutgBNcGyis9imtuW7dqG2kH6z4VGrg+Ex1Ntj28B2jo9BkKkw==","shasum":"548fd33cce443fd1f3b12f85d50e0d8cca73806d","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.3-0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFLQHNSGzqJ5ybH55v76gCJWZUPgkvxjlyQTCQ0t7MSVAiEA203sy0DnKqCwoPul29CTdNTaau1d5wm/XtFWKYrdVaE="}]},"maintainers":[{"name":"chenbin93","email":"chenbinad@gmail.com"},{"name":"noyobo","email":"noyobo@gmail.com"},{"name":"zeroling","email":"wssgcg1213@qq.com"},{"name":"yujiangshui","email":"yujiangshui@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder-0.1.3-0.tgz_1517323036412_0.2236301435623318"},"directories":{}},"0.1.3":{"name":"@icedesign/form-binder","version":"0.1.3","description":"ICE 表单数据获取方案","main":"lib/index.js","files":["lib/","theme/","demo/"],"author":{"name":"ICE Team","email":"ice-admin@alibaba-inc.com"},"repository":{"type":"git","url":"git+https://github.com/alibaba/ice.git"},"license":"ISC","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"^0.1.0","async-validator":"^1.8.1","classnames":"^2.2.5","prop-types":"^15.5.8"},"devDependencies":{"@icedesign/skin":"^0.1.2","babel-eslint":"^8.0.3","eslint":"^4.13.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-babel":"^4.1.1","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1"},"typings":"lib/index.d.ts","scripts":{"lint":"eslint . --ext '.js,.jsx' --fix","prepublish":"npm run lint"},"bugs":{"url":"https://github.com/alibaba/ice/issues"},"homepage":"https://github.com/alibaba/ice#readme","_id":"@icedesign/form-binder@0.1.3","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"yujiangshui","email":"yujiangshui@gmail.com"},"dist":{"integrity":"sha512-E/zj23shezoxPTzW5oALOBay0YQJkcAHB+BIa58xEhGxePtQAq2nWFIeDLSU/EYb71poe5xA4NfTq65y45+sjw==","shasum":"7ef0a1e1109fef82e7d799acc43444da20a6e572","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoMcnoEX7ACa0kcK2vzY8Y0FPfFJrqqCxBh8IgqBA5cQIgLfZshRn8IQVj3RSWnnfouPLs+baHi9ewd6AhNEFFKvg="}]},"maintainers":[{"name":"chenbin93","email":"chenbinad@gmail.com"},{"name":"noyobo","email":"noyobo@gmail.com"},{"name":"yuanyan","email":"yuanyan.cao@gmail.com"},{"name":"yujiangshui","email":"yujiangshui@gmail.com"},{"name":"zeroling","email":"wssgcg1213@qq.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.3_1517977621852_0.5376813868998862"}},"0.1.4":{"name":"@icedesign/form-binder","version":"0.1.4","description":"ICE 表单数据获取方案","main":"lib/index.js","files":["lib/","theme/","demo/"],"author":{"name":"ICE Team","email":"ice-admin@alibaba-inc.com"},"repository":{"type":"git","url":"git+https://github.com/alibaba/ice.git"},"license":"ISC","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"^0.1.0","async-validator":"^1.8.1","classnames":"^2.2.5","prop-types":"^15.5.8"},"devDependencies":{"@icedesign/skin":"^0.1.2","babel-eslint":"^8.0.3","eslint":"^4.13.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-babel":"^4.1.1","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1"},"typings":"lib/index.d.ts","scripts":{"lint":"eslint . --ext '.js,.jsx' --fix","prepublish":"npm run lint"},"fusionConfig":{"docs":"demo/","variable":"lib/scss/variable.scss","entry":"lib/index.scss","deps":[]},"bugs":{"url":"https://github.com/alibaba/ice/issues"},"homepage":"https://github.com/alibaba/ice#readme","_id":"@icedesign/form-binder@0.1.4","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"yujiangshui","email":"yujiangshui@gmail.com"},"dist":{"integrity":"sha512-x1rSPZQ2NRM8h3dyBD/RoATW3ncVu5wbDfIlvBsrlSKEZ9HIy5/K7mlVKLuLAOsk3QKJYIvlDFUF3irH9kOl1w==","shasum":"b04290920ea8c4381f266bc4e7c086bdaf6ef3dd","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.4.tgz","fileCount":18,"unpackedSize":41610,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIECCFMgvgN7b6vJNA9JZj9RLhlimVXQQhUwmhJIYBtgXAiBnL2L280/yTuwdm8EbMGClpFPfKHmd5e3GQHMKO8DTHQ=="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"yujiangshui@gmail.com","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.4_1518085272465_0.06715126599212295"},"_hasShrinkwrap":false},"0.1.5":{"name":"@icedesign/form-binder","version":"0.1.5","description":"ICE 表单数据获取方案","main":"lib/index.js","files":["lib/","theme/","demo/"],"author":{"name":"ICE Team","email":"ice-admin@alibaba-inc.com"},"repository":{"type":"git","url":"git+https://github.com/alibaba/ice.git"},"license":"ISC","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"^0.1.0","async-validator":"^1.8.1","classnames":"^2.2.5","prop-types":"^15.5.8"},"devDependencies":{"@icedesign/skin":"^0.1.2","babel-eslint":"^8.0.3","eslint":"^4.13.1","eslint-config-airbnb":"^16.1.0","eslint-plugin-babel":"^4.1.1","eslint-plugin-import":"^2.8.0","eslint-plugin-jsx-a11y":"^6.0.3","eslint-plugin-react":"^7.5.1"},"typings":"lib/index.d.ts","scripts":{"lint":"eslint . --ext '.js,.jsx' --fix","prepublish":"npm run lint"},"fusionConfig":{"docs":"demo/","variable":"lib/scss/variable.scss","entry":"lib/index.scss","deps":[]},"bugs":{"url":"https://github.com/alibaba/ice/issues"},"homepage":"https://github.com/alibaba/ice#readme","_id":"@icedesign/form-binder@0.1.5","_npmVersion":"6.1.0","_nodeVersion":"8.9.1","_npmUser":{"name":"zeroling","email":"wssgcg1213@qq.com"},"dist":{"integrity":"sha512-plWDrqH0BuaTJIbQG//AuyEKZJfh1OpvK4TBTqb0qH38SyO5HlfRh4pNQfwPF7oi2z/qMKhJYbIujs49ZaTP5A==","shasum":"6b12f44e8a109dd351ad0212a75bad839ab7ecbb","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.5.tgz","fileCount":19,"unpackedSize":52975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbPtKTCRA9TVsSAnZWagAA71IP/iDmuwz6iXHiqiDFlBuy\nQMklKR1qQVp+n8154Y9JrihjnvOLsPu2CZwIFiH8AppEx1ERxm99MPjgTlqA\n+R8xUv+tVGnUyfLiCbOuFQeVop2Uq/oP32gPFYbuJIh5po72zUVj/bbf0JFc\nSZxRqQ94S4k/8mxdB7X/a3btPTxfihgWjxQSu0EVMu3LwxRxp8Z+vR19Ed4Y\n6q8cw+Xma4VZyK80lgQgA/bi21v6zxYJqOJU3XFPQUAq6x7G2l1qFCsiL1Ze\nfZ4PtK/MaXpHRDkaGJNrsDMWb4Ta1gERHGnWZu2Mu05sIcgbtyhPItuZakpq\nCLRsWezzFgK+hmMia2Obs/0ZyW3oIZLNTuYecyLOuPaA9WzaJN3nT6P/Sz4d\nEquz8Vhtt4D0cSA2TITpF7/yXq5vAXmd5lxBu+Y9PUO8RHTG9AMLFzV3nvzr\nYhA1fhK5pkjX1iwhQ/bbEFr51ztr8GZ9+PmFxlezIcaJ50AP1dcMWOkbor2Y\nHv1z8qd3h6v6br6elBgcKdVCcxe/MO9jfSBONMsjWwc6teiGWzZQQA5IPho8\nuipNMpNuJqAglmBR4kAjOpF427yil1uyFH/91zHLW0CbcAG212BtTnx7mDrA\nZf8BBYtW3qnD0ja4lnbPBDuBh54VO078tJU0z3XSRHUSRxCPOO4Qrq4QcAij\nWcuQ\r\n=RWeQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDm9jXlV8m0CyS0jD0JV/R5mcCFc3dyhCaaWEOKI0kSjwIhAOWAcGZfj94z1xGZg+8ytRMD91d7q18wd3cZYRqbjHO1"}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"yujiangshui@gmail.com","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.5_1530843795839_0.33694698352924357"},"_hasShrinkwrap":false},"0.1.6":{"name":"@icedesign/form-binder","version":"0.1.6","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"files":["lib/","demo/"],"author":{"name":"ice-team"},"repository":{"type":"git","url":"git+https://github.com/alibaba/ice.git"},"license":"MIT","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.0.4-0"},"bugs":{"url":"https://github.com/alibaba/ice/issues"},"homepage":"https://github.com/alibaba/ice#readme","_id":"@icedesign/form-binder@0.1.6","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"zeroling","email":"wssgcg1213@qq.com"},"dist":{"integrity":"sha512-WBNQxCVcUiZKwi/Wz46g6+pVutAvkt9IWrEeeMNNy4443A3z1L8Ijv87U7SEoovk+cqiXYNJDBP+n76efkrZ2A==","shasum":"ea5a5b8ef07d3fdd6da02623064e0302c4ee8c27","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.6.tgz","fileCount":16,"unpackedSize":39616,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbVri9CRA9TVsSAnZWagAAUZ8P/1wlrjfrdk0wpSjt7rYy\n6Pm1OHBFC8p/JnI4pq6/eUwobV5hxGZ7FhgLpZR/FJC0wMtFAfs0Ry9F9uZ7\nNSJr9Rdo8DqMYAHow0aOzYGH9C/m7JZtHJptOWGzAjsgOFZn3Pnn0lIeibwj\n/NS3BqY0hNXxi4e5KW8jTV4HCBgVB8oPBrN49DGu+htPpmMRKOvZNZQbbdH8\nMXh0xY8rMIibZCYepA0qrfNgWLgQz3N3scp9a+iWlh7yWy8Y/AG7EYUTULQ/\n/gYjEVoVz0/W7fVloi6bgLPPNADpbZ0f5dz1Y/9NR0GCUjIwcbdh10zh6jve\neVvUxz3SGwN+h96YMOgteuJu7RNWPO3NnJD/LMYrprQrpUz1SpsREIN5jB9b\n2pnsSILNlGHhn0/cSQD/OicolMUIHrC1LjuV3rjnIUCGeWblZLvy/DxktZWw\nftx2RqdSOE4ha862+5g736ehFeUECeOEU0OLz2Vbr4GpOYsLLZ5QHMUr9ITW\ndx+KYzPrTUL0YHDfK3ZTXMfua8zvgeFvsEYsnISN1e4bt5AApqpr2l3p73I5\n5CaBXg0Q7zMfEJfq40p01lcj5A6hpzMK31LriRpF5VAwkHkTItri2O1X81xY\nwXggUdkui+0kdr8av0SHugLzHPd/0rk9JmzSoP0zDbGxnh2ZotmobK46E0KC\nTWhM\r\n=k8Y3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICVEjVB+QsgLkly5yfLidfWzadmo6HrZq7KxVVnmYHSnAiEArqZoPmvekgaBemiIaqY5aMX57ggd3wFHLy/A3tv7o6M="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.6_1532410045426_0.21477495260678858"},"_hasShrinkwrap":false},"0.1.7":{"name":"@icedesign/form-binder","version":"0.1.7","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"files":["lib/","demo/"],"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.0.4-0"},"_id":"@icedesign/form-binder@0.1.7","_npmVersion":"5.6.0","_nodeVersion":"8.11.3","_npmUser":{"name":"zeroling","email":"wssgcg1213@qq.com"},"dist":{"integrity":"sha512-J5OTvU35TEK1R6FDKoQe8DC9gQQYATrWYAWs/oSa5YVThk/cQpNPh+7boFxbRPuYbgu7EhR1jgyTyUfRp99CPA==","shasum":"0320288938682e1d39c9d85a9e7b1f735a0797b2","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.7.tgz","fileCount":17,"unpackedSize":43940,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbYpZnCRA9TVsSAnZWagAAyb8QAIk1j9dBrBmkPzGPJO5/\nzi4cxbmYVKEaOH9z6UiXwmqCPV4eiK/OnCWfZJTkG9awQemy3byTvDkVqqP1\n1JvPut6mGtexZz4DsTM3h66scih98YZt3v8GmG9T+3Er5I9AGzq/JJnuj61f\n8smdCPuBocKjVYyYR0l/465XJ/Xk07oBMml6oxEDTixIlWjtiBvR1orgCxvf\n4QkKRtes3Xnkd0uxRuYfiSgm9ee2pG1NBbSBK9FaCBl5rKBXx+kb/BHooLff\nnSlzPz/kbwVtwGBv8jCBtlgYL7vQnFdpiK+IFqr41TcggC6wbsDleqOvZSy5\nhax0A/xxd3cHzlnAHqxwlotLqAfUe59qIiDLVGA69nXRyd2KxupxPcJp2wP8\nBYGbB/qWmF9rdZdlqsEiWIOF5P7JHsFwF35s/Kw58Zy3j0+LzqXmmLaPb6l1\nQDz2K/RuDh3jQhBemFq8qW+4Fqoi6Py6JGyeLEX030JXf6SVfj5k8r29pGHA\ns6dQ4V1MH28mgr0wKeMLnkK2kSyT0ZJxrPVGGEn0dEshrSP/9+ugNpSUETqi\ncz95yx6qZM3KHnUgwqjpH0HnZfIdFipKRVU1AR6gcie+JrteYLccrw4bQrue\nn4i1ut5jLGFPaqJizVnwj/DD90dW3OFNZdqVbXIRFGNdcJXlzkk3PoAIpXnx\nzWuB\r\n=gTNL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNi6W+x8IbgVGIiezcdHR3lq7lti/d2sNp0PJxdnLQsgIhAOSnO4qcxA04+hN8gqm5WOKSWD6mNL5RQxq7ts2/N2xo"}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.7_1533187687365_0.23107217538996339"},"_hasShrinkwrap":false},"0.1.8-beta.0":{"name":"@icedesign/form-binder","version":"0.1.8-beta.0","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"files":["lib/","demo/"],"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.0.4-0"},"readme":"---\ntitle: FormBinder\ncategory: Components\nchinese: ICE 表单粘合剂\n---\n\nICE 表单数据获取方案。\n\n## 安装和升级\n\n```bash\nnpm install @icedesign/form-binder\n```\n\n## 实现方案\n\n![](https://img.alicdn.com/tfs/TB14a7ghhTI8KJjSspiXXbM4FXa-1742-1276.jpg)\n\n### FormBinderWrapper 组件\n\n整个表单的上下文组件，支持传入 `value` 和 `onChange` 方法，其中 `value` 会作为整个表单数据根节点，交由下层组件去获取、更新操作。\n\n```jsx\nimport FormBinderWrapper, {\n  FormBinder,\n  FormError\n} from '@icedesign/form-binder';\n\n...\n\nconst value = {\n  a: {\n    b: 'abc'\n  }\n};\n\n...\n\nformChange = (value) => {\n  console.log(value);\n};\n\nrender() {\n  return (\n    <FormBinderWrapper value={value} onChange={this.formChange}>\n      ...\n    </FormBinderWrapper>\n  )\n}\n```\n\n### FormBinder 组件\n\n表单组件粘合组件，将其包裹在支持[双向绑定协议](#双向绑定协议)的表单组件上面，即可实现双向绑定特性将表单的数据获取和变动和 FormBinderWrapper 进行沟通。\n\n需要指定 name（以 value 为根节点的路径 JS 表达）以及其他表单相关属性。\n\n```jsx\nimport FormBinderWrapper, {\n  FormBinder,\n  FormError\n} from '@icedesign/form-binder';\n\n...\n\nreturn (\n  <FormBinderWrapper value={value} onChange={this.formChange}>\n    <div>\n      <FormBinder><Input name=\"a.b\" /></FormBinder>\n    </div>\n  </FormBinderWrapper>\n)\n```\n\n之后 `Input` 输入框的变动，会通过 `FormBinder` 转发从而触发 `FormBinderWrapper`  的 `formChange` 方法，用来更新 `value` 中 `a.b` 的值 `abc`。此外，默认情况下也会自动获取 `value.a.b` 的数据，填入 `Input` 组件中。\n\n### FormError 组件\n\n表单校验部分报错显示组件，自定义位置，需要指定 name（以 value 为根节点的路径）来指定当前报错组件的报错来源表单组件。\n\n我们可以给 Input 添加一些校验属性（表单校验规则请参见下面文档），此时表单报错之后就需要在合适的位置显示报错项，可以将 FormError 组件加入合适位置。\n\n```jsx\nimport FormBinderWrapper, {\n  FormBinder,\n  FormError,\n} from '@icedesign/form-binder';\n\n...\n\nreturn (\n  <FormBinderWrapper value={value} onChange={this.formChange}>\n    <div>\n      <FormBinder required={true} message=\"当前表单必填\" ><Input name=\"a.b\" /></IceFormBinder>\n    </div>\n    <FormError name=\"a.b\" />\n  </FormBinderWrapper>\n)\n```\n\n## 表单元素\n\n表单元素指的是 ICE 基础组件以及业务组件中的 `Input, Checkbox, Select, Range, DatePicker, TimePicker， NumberPicker, Switch, Upload` 等以及用户自定义的组件，它能够响应 `value, onChange` 等用来获取用户输入。\n\n### 表单校验属性名称表（props）\n\n如果想要主动校验全部表单，则需要在 FormBinderWrapper 组件上面添加 ref，在合适的地方调用实现，全部校验发现报错表单会自动跳转到对应表单。\n\n| 属性      | 针对的数据类型     | 用途                                                         | 备注                                           |\n| --------- | ------------------ | ------------------------------------------------------------ | ---------------------------------------------- |\n| required  | 全部               | 内容不可以为空                                               |                                                |\n| min       | 数字               | 值必须大于等于 min                                           | 如果值为非数字，尝试转为数字，转换成功则做校验 |\n| max       | 数字               | 值必须小于等于 max                                           | 如果值为非数字，尝试转为数字，转换成功则做校验 |\n| len       | 字符串、数组、数值 | 当前表单值固定长度                                           |                                                |\n| enum      | 数组               | 当前表单值枚举值                                             |                                                |\n| minLength | 字符串             | 字符串长度必须大于等于 minLength                             | 只校验字符串                                   |\n| maxLength | 字符串             | 字符串长度必须小于等于 maxLength                             | 只校验字符串                                   |\n| most      | 数组               | 数组长度小于等于 most                                        | 只针对数组                                     |\n| least     | 数组               | 数组长度大于等于 least                                       | 只针对数组                                     |\n| pattern   | 字符串、数字       | 格式正则                                                     |                                                |\n| format    | 字符串、数字       | 对常用 pattern 的总结，可选值：`url、email、tel、number`     |                                                |\n| validator | any                | 传入函数进行自定义验证，具体参数见 [async-validator#rules](https://github.com/yiminghe/async-validator#rules) |                                                |\n更加具体的校验规则参见 https://github.com/yiminghe/async-validator 。\n\n**DEMO**\n\n```jsx\nimport FormBinderWrapper, {\n  FormBinder,\n  FormError,\n} from '@icedesign/form-binder';\n\n...\n\nvalidateForm = () => {\n  this.refs.form.validateAll((errors, values) => {\n    console.log('errors', errors, 'values', values);\n  });\n};\n\nreturn (\n  <div>\n    <FormBinderWrapper\n      ref=\"form\"\n      value={value}\n      onChange={this.formChange}\n    >\n      ...\n    </FormBinderWrapper>\n    <Button onClick={this.validateForm}>校验</Button>\n  </div>\n)\n```\n\n### 自定义验证触发时机\n验证触发时机指的是在合适触发表单校验，默认为表单组件 `onChange` 时。\n\n通过修改 `triggerType` 来指定合适的触发事件。对于高频触发校验的 `Input` 可以设置为 `onBlur` 减少校验调用次数。\n\n\n## 双向绑定协议\n\n双向绑定协议指的是组件接收 `value` 和  `onChange` 两个参数，其用户输入值由 value 提供，当用户操作组件导致数据变更，组件会调用 `onChange` 并把新的 `value` 作为第一个参数抛出。React 社区的大多数组件都遵守这个设计，如 `@icedesign/base` 的 `Input`, `Select`, `Checkbox` 等，如果你希望你的表单类组件能够接入 FormBinder ，请务必遵守这个协议。\n\n","readmeFilename":"README.md","_id":"@icedesign/form-binder@0.1.8-beta.0","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-V7DmRGQUyUQzMxR0Izvz8KOtu9H1EAekfW13EBlSxQ/M9kVq0b7pNlkHHNPKwZ2GPvVKEYD2BATyPGdeOjtz8w==","shasum":"4043142144b32c3de76b89ae9980199670fe75dc","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.8-beta.0.tgz","fileCount":17,"unpackedSize":44504,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbfsbxCRA9TVsSAnZWagAAVFIP/2OOR7zjsbfCUOtjNdw+\nQdR88DufnZN7NjLjty68I7/2UobyawU4gmLcii2NW7pD2RBxDG7ps8dmIiPw\n3kOhZM7yU5/mSCqcX2NqanfE66WjMfGPAIvHlVQP184xizSRVok1b9bkYHXY\nTfo613hX3MFquf5GMnaW1EcaxNoXFUuS7ncjPC+Ato36CKXDGy4WZ8k0Olvy\nwRhoPOVieOTAeV3m4p5QLOX5mLZzWFO6PZFABqnXHwAbeu+GI/i4cfOEBr6w\nrMiuFR6aKH/GO+q3VYxv0uCwGyqX1UkLLHxtZBM7Q1cD70hcXf6wz+Yp1WZG\nX6BhRtsn/Gw/ZA46/i3H+4IO6WzbQDH8JFC2g7UldMFvyKXl6l3Mmz4TbB+3\ndAcFOeGKc0ueU+fMNhbTlsvr1XiTsWme94RQ+31fkUucw0/X15lff24jCqT5\ny2G0kXKlFwgMU4vco/tGSUpC64Oz6YK2Me2C4guzWGjurqs1YQpZtr2TPOuF\ncqDph8eB6RrKkNJntlOaq/TlkdNoXsu9ZYGCu28OFNzsiqQCbGqbp10jEPQx\naY5FgdkAD4MEFp0LlAp1yqYgzu9Pjp4iRWSiV89EU6/hcnehS1Cs89/2+qCl\nScEnxEIrkUL5R6R2DXV1TYlOtUSXpw6kq31kXwsoz4rqZOc1NROhoPXbCxgb\nG/KV\r\n=leJB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHi9ZWGIXNGIoyHt0aksPCWDua4JKrC47jk0BacNZxt6AiB1qnd3866a6oQtxNWKq0PbcccyNnRhgPZpu7rBN7uINQ=="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.8-beta.0_1535035120829_0.16920149220183078"},"_hasShrinkwrap":false},"0.1.8-beta.1":{"name":"@icedesign/form-binder","version":"0.1.8-beta.1","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.0.4-0"},"readme":"---\ntitle: FormBinder\ncategory: Components\nchinese: ICE 表单粘合剂\n---\n\nICE 表单数据获取方案。\n\n## 安装和升级\n\n```bash\nnpm install @icedesign/form-binder\n```\n\n## 实现方案\n\n![](https://img.alicdn.com/tfs/TB14a7ghhTI8KJjSspiXXbM4FXa-1742-1276.jpg)\n\n### FormBinderWrapper 组件\n\n整个表单的上下文组件，支持传入 `value` 和 `onChange` 方法，其中 `value` 会作为整个表单数据根节点，交由下层组件去获取、更新操作。\n\n```jsx\nimport FormBinderWrapper, {\n  FormBinder,\n  FormError\n} from '@icedesign/form-binder';\n\n...\n\nconst value = {\n  a: {\n    b: 'abc'\n  }\n};\n\n...\n\nformChange = (value) => {\n  console.log(value);\n};\n\nrender() {\n  return (\n    <FormBinderWrapper value={value} onChange={this.formChange}>\n      ...\n    </FormBinderWrapper>\n  )\n}\n```\n\n### FormBinder 组件\n\n表单组件粘合组件，将其包裹在支持[双向绑定协议](#双向绑定协议)的表单组件上面，即可实现双向绑定特性将表单的数据获取和变动和 FormBinderWrapper 进行沟通。\n\n需要指定 name（以 value 为根节点的路径 JS 表达）以及其他表单相关属性。\n\n```jsx\nimport FormBinderWrapper, {\n  FormBinder,\n  FormError\n} from '@icedesign/form-binder';\n\n...\n\nreturn (\n  <FormBinderWrapper value={value} onChange={this.formChange}>\n    <div>\n      <FormBinder><Input name=\"a.b\" /></FormBinder>\n    </div>\n  </FormBinderWrapper>\n)\n```\n\n之后 `Input` 输入框的变动，会通过 `FormBinder` 转发从而触发 `FormBinderWrapper`  的 `formChange` 方法，用来更新 `value` 中 `a.b` 的值 `abc`。此外，默认情况下也会自动获取 `value.a.b` 的数据，填入 `Input` 组件中。\n\n### FormError 组件\n\n表单校验部分报错显示组件，自定义位置，需要指定 name（以 value 为根节点的路径）来指定当前报错组件的报错来源表单组件。\n\n我们可以给 Input 添加一些校验属性（表单校验规则请参见下面文档），此时表单报错之后就需要在合适的位置显示报错项，可以将 FormError 组件加入合适位置。\n\n```jsx\nimport FormBinderWrapper, {\n  FormBinder,\n  FormError,\n} from '@icedesign/form-binder';\n\n...\n\nreturn (\n  <FormBinderWrapper value={value} onChange={this.formChange}>\n    <div>\n      <FormBinder required={true} message=\"当前表单必填\" ><Input name=\"a.b\" /></IceFormBinder>\n    </div>\n    <FormError name=\"a.b\" />\n  </FormBinderWrapper>\n)\n```\n\n## 表单元素\n\n表单元素指的是 ICE 基础组件以及业务组件中的 `Input, Checkbox, Select, Range, DatePicker, TimePicker， NumberPicker, Switch, Upload` 等以及用户自定义的组件，它能够响应 `value, onChange` 等用来获取用户输入。\n\n### 表单校验属性名称表（props）\n\n如果想要主动校验全部表单，则需要在 FormBinderWrapper 组件上面添加 ref，在合适的地方调用实现，全部校验发现报错表单会自动跳转到对应表单。\n\n| 属性      | 针对的数据类型     | 用途                                                         | 备注                                           |\n| --------- | ------------------ | ------------------------------------------------------------ | ---------------------------------------------- |\n| required  | 全部               | 内容不可以为空                                               |                                                |\n| min       | 数字               | 值必须大于等于 min                                           | 如果值为非数字，尝试转为数字，转换成功则做校验 |\n| max       | 数字               | 值必须小于等于 max                                           | 如果值为非数字，尝试转为数字，转换成功则做校验 |\n| len       | 字符串、数组、数值 | 当前表单值固定长度                                           |                                                |\n| enum      | 数组               | 当前表单值枚举值                                             |                                                |\n| minLength | 字符串             | 字符串长度必须大于等于 minLength                             | 只校验字符串                                   |\n| maxLength | 字符串             | 字符串长度必须小于等于 maxLength                             | 只校验字符串                                   |\n| most      | 数组               | 数组长度小于等于 most                                        | 只针对数组                                     |\n| least     | 数组               | 数组长度大于等于 least                                       | 只针对数组                                     |\n| pattern   | 字符串、数字       | 格式正则                                                     |                                                |\n| format    | 字符串、数字       | 对常用 pattern 的总结，可选值：`url、email、tel、number`     |                                                |\n| valueKey | 字符串 | 声明组件的响应字段 |  |  |\n| validator | any | 传入函数进行自定义验证，具体参数见 [async-validator#rules](https://github.com/yiminghe/async-validator#rules) |                                                |\n\n\n更加具体的校验规则参见 https://github.com/yiminghe/async-validator 。\n\n**DEMO**\n\n```jsx\nimport FormBinderWrapper, {\n  FormBinder,\n  FormError,\n} from '@icedesign/form-binder';\n\n...\n\nvalidateForm = () => {\n  this.refs.form.validateAll((errors, values) => {\n    console.log('errors', errors, 'values', values);\n  });\n};\n\nreturn (\n  <div>\n    <FormBinderWrapper\n      ref=\"form\"\n      value={value}\n      onChange={this.formChange}\n    >\n      ...\n    </FormBinderWrapper>\n    <Button onClick={this.validateForm}>校验</Button>\n  </div>\n)\n```\n\n### 自定义验证触发时机\n验证触发时机指的是在合适触发表单校验，默认为表单组件 `onChange` 时。\n\n通过修改 `triggerType` 来指定合适的触发事件。对于高频触发校验的 `Input` 可以设置为 `onBlur` 减少校验调用次数。\n\n### 修改默认 `onChange` 的值内容\n\n在 `DatePicker` 的使用场景中往往需要增加 `format=\"YYYY-MM-DD\"` 格式化参数，由于 `onChange` 的默认返回值是 `[data, formatData]` 当需要第二个值绑定上 FormBinder 可以使用 `valueFormatter` API 来修改\n\n\n```js\n<FormBinder>\n  <DatePicker format=\"YYYY-MM-DD\" valueFormatter={(date, formatDate) => {return formatDate}} />\n</FormBinder>\n```\n\n### 转换组件接收值的类型\n\n例如 FormBinderWrapper 上绑定了  `{selected: 0}` , 需要将 `0` 转换成 Boolean 类型 `false` 传给 `<Switch />` 组件，可以使用 `valueTransformer` API 转换\n\n\n```js\n<FormBinder>\n  <Switch\n    name=\"selected\" \n    valueKey=\"checked\" // Switch 接收的属性是 `checked`\n    valueTransformer={(selected) => {return selected === 1}}\n  />\n</FormBinder>\n```\n\n## 双向绑定协议\n\n双向绑定协议指的是组件接收 `value` 和  `onChange` 两个参数，其用户输入值由 value 提供，当用户操作组件导致数据变更，组件会调用 `onChange` 并把新的 `value` 作为第一个参数抛出。React 社区的大多数组件都遵守这个设计，如 `@icedesign/base` 的 `Input`, `Select`, `Checkbox` 等，如果你希望你的表单类组件能够接入 FormBinder ，请务必遵守这个协议。\n\n","readmeFilename":"README.md","_id":"@icedesign/form-binder@0.1.8-beta.1","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-Lsae6DHLroJNBnu+p7Fs8YreFVJ4RvEeY8cn+vBcMngEFu7x0BEJSr0P7FiCnu4aAenWNLg8cZkTkPEAczDXiA==","shasum":"59bcc0bf0555072e5e72f2c8f556fe5d5d71b549","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.8-beta.1.tgz","fileCount":17,"unpackedSize":45920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbh1R2CRA9TVsSAnZWagAAk0wQAIE7sV5LLfpn0ooNPPz/\ng1/xZuYN4b29muw20v2tOvj1XIAwcozusTxHIj4u6QyeZXM5Nj89UTNbq4sp\nwUnLj0B0qlnqUwDwbQoHrK+jCYDDus0vOnScNdkQLGKE4mf32qTJDlXz6N+O\nHij6AleFo2jeQ0crT8qubwsqDzSlWp+Bwd1ipcwytQ5SCiGDWQcnRX8srcTw\nKlh5KY9hRtNzETTbft8vDwpyDkrkyqzbq6TeQgJ1M0U6W9wOvKizThyUvnt0\niUG6YOelFH1+sZqBe/bWRNTUFKvoFBgDZnDq4SUkRTGB6jdgQWFrT/U1QeKR\nI5jHjmY1AlCel9n+4m2wsQuvTmCYMp54jT3YSXFTclx7lSj22P0P79N/o8TA\nWKwEfi/2jmHjDzIGjVkvRrzPc91DRSGKfiskTOp+zlL4Xo3McgBC6QLjPOQW\nATHhUNX2seELXXa4ZGE10xV+ixXn+0B0W4pK8HO36MSyoGw/iGQ5g+76kKuU\nGocJzHT7CpkJmEWfMD//dpzSfqvlk4gLWQgDYDol43t38Ylhtk+QQ6Mcd4Di\na0rVkg+u3EhT+xJ1q+jz2dOFKW3QrFTbGE0lovxaXJ6pzi1Zpp+vuXmlFNT0\n4n9GQaPHFCFwbmDF2BXBe0KnHwlf2I5zo5F/LMOWoYhEaWNjQk1VWRQQwwUa\nrPyn\r\n=BmcB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLKl7jO4eRKuntQh1WaTvIbBcFXZC8CZnQnchbqufjtgIhAPWwfx2syGEGjGGQ/tl9cJxYk3QCP5xMhXLn3IEoDKHq"}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.8-beta.1_1535595637392_0.8312441965868771"},"_hasShrinkwrap":false},"0.1.8":{"name":"@icedesign/form-binder","version":"0.1.8","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.0.4-0"},"_id":"@icedesign/form-binder@0.1.8","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-CO6Nc8D9gvaqFyFDRj6IXTr/7y5HZdQmw3DqMnLtzTEMZLyjxxOh9J0dQWph6J0I6WYfDImKRiiZS9PQtwUl7Q==","shasum":"105077982fcfcf26e12b927ac9e61672839299c9","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.8.tgz","fileCount":17,"unpackedSize":46416,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbh4qqCRA9TVsSAnZWagAAxFQQAI/J/FI5u5YcbRjFXYFi\nbB12YiV5VQljo6pFIT7k5dBYttL9JEeb51aVg9MnR2M8OvMHLMSqvS4WgOaS\nvDdw5Y0YzCpyyi+8EsSxgo23zfGBJXY671BuNZZ5RcLd2l2MLvB9gxVo/is5\nhJNHd5FeWv5hSLPNzzRfxVrH96DBSsXmHJuPFWM8QW1odhDE67g47X2PgJC9\nSJtuhmrY9bEGk0IoP0vhXt/obleN7EqsJs0EZLbolA/NcrgPQEtVBZuu9w7m\n3634G/mZBjlmvxE7Ag6kviSvoEhcsYS4YYrwxSfwRNkqIDJRn6SAVvbmeE78\nydFtlaNCkBu9+KLDXiJXR85278QAIzBFSqD3nLgn4EjkXnpESjefEjEgC5r2\nf3bkw0MLctgWbvpxmuEALEucRlaqjiUAs4Pwa9Vbxe/QPXNtdbCN5/PcBRSX\nTJdYozICCt5bNio521FDU8+cIobRBAliElppFVcgJiNyQUN2/DLMue7vv8xm\ndBdNMBLxhU+S7/wnt3P/Lm0FBOFeNeNSS1ldlzBq+pAYM8f081xHW187SifQ\nYA+n4RGzVvczzBfx58DUuJxfAeJx6ZfgvLOQ2FXC1h6gqsDqujJ0vWHemr4j\n1oi0hBdEJJa8aNBz1N0DpKAkeEqh0vZUDB/vJNFatng0/c5brCTSvP+VdlDB\n6LJV\r\n=BZlu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHvYs0Ic+xeSUnwzjp4Nn4vTrjM+5O2I/tmLVzYCElWZAiEAjpMmnuDMDy9GZLptare8YgvfB0yOmuyw7IYjao1RJ9w="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.8_1535609514158_0.29940069789647916"},"_hasShrinkwrap":false},"0.1.9":{"name":"@icedesign/form-binder","version":"0.1.9","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.0.4-0"},"_id":"@icedesign/form-binder@0.1.9","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-+KQacqVZHHfGr1oIA4CTdd+GxQopyq7Ehh5cl/CXrr2gy+y0bXwsp0QBzI7EgA4z9d/yM/te+sD5m1oJYv0wFA==","shasum":"0a8c180fd126e3bff9e73cf20e1a699a3f27f529","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.9.tgz","fileCount":17,"unpackedSize":46418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbh6WZCRA9TVsSAnZWagAAxrkP/1OchjfgngxFtBNGAC+0\nDp7V4Va2+kEPAjt+VH1tEUG03rd9mSIOhRewiZkg7v/08jGEY0LiDXymDD4q\nejbzAceg+0KeqO9UJCVbuuSU2UcR1E5LiliJjnM+EKAQ8epI0WdIBjzonUd8\nklv1ybEuVO8cr+jEChlo5wbxl3i/gu4RPSgwIrYcfWWXRDpYkLr8xt02wVIU\nXp446oelXBX5NsUhzaOAs67CwWCviYERJd66cydg9tGsuPU0nxzXsudH3MHX\nYcoJpPID/yvcPZASV8baEMZ/WF9srzSq35X5gY3lhmIhYRoBSnj3plrM1K2t\nzvBo+sT8Jcmc5/ZkGeCOLEd8xKmpWdMEEGXN2+SQ/ekfBaNPMlrbuIDLV1Mh\nwCSmU3+mCeWzXmfia7bK5kID79cXPsmr8gaMADbufDwi1Idy+IsZj0suSBiK\nNrQiHedFNiY3TuC+1vzThGLHhvuN+v5r6EYDZ2IMcP3+THlxTexvyyI1WF0X\nH8GPz0K26DRMGSnJ4Usyv/TNusZDN0FfSzvxmH4w1797MYPH4DOyThVGssjI\n8fy4gck292XRAh9sBhFj0xyIrqRzrns2VrX3rkOsMtQDW3Ae73Swmmyib1O7\nGIR5WPO7+pchKWhbocbSVz/Zieu5UQgaYz8PoF+9rmVCSTZjDly9XgN02mjZ\nNbcH\r\n=G1RI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGxjdXwPto4SlP+RUNMMIUAklhbivpd2KmgaVhqBfkXxAiASfVfNuvvjwnQ8RrN4TtBVuWx0YdDiFEHoqBgyl2k82w=="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.9_1535616408774_0.9375342900982004"},"_hasShrinkwrap":false},"0.1.10":{"name":"@icedesign/form-binder","version":"0.1.10","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.0.4-0"},"_id":"@icedesign/form-binder@0.1.10","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-fUwIzx+5UWR+8ITFIJ0kyQwTGdWASdyUgBIxKGtUCqfn2Izlkrf5FtfSywaq2kg/Lbeb6Vdl0EJMhbqA7wN7mw==","shasum":"ebcff245e126e20e81024c5b20f09de95d77d57a","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.10.tgz","fileCount":19,"unpackedSize":49774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkeljCRA9TVsSAnZWagAABeUP/2hhl0PZPldIuIJ8xI8O\nyM9kA0/rg1lvvBcdUq32cV/yXV5O6MGVLcPO0pcqBaJfT7aq6UB9A/Hqu5Gc\nCl8WymDLKDp6sGrL16pCoP32clgZYLwcX33nzC83BHgxDFiTUC3/6mfB+jYg\nkzA8BYhgJX6joR+1r1mQppdNnE0ZrDLcW4PNQ5+H1pkXD845+uYUqMiplhYZ\n/lJqYwNDJLDetiD4VORZ6/wHKZSsBtoJOsd0+TdRa/JPtZTkJPWo68qjPmLm\nnhGqUhpZSEGVVyMQAhL6tCBK9ho3ne6Za14hgXc67kLixQILtYgokcPTN1BI\nhuiTM+8cIiLYGxn/1kZNsbiuwDSlCbD1f+EwetRdmBaxlyO4t7alNIZxFf6u\nPejJvFoE042Tl4ZaF/O9D9H0WfcB9BAklNt3voaeuIzIdrqXvgVc2b0oT8Zb\nMmDK9Z/dCS3dfzUGtYutCjo8QxzTY2DaMlAvIBSJYrun3YV7C15LQO1NIRaM\n6qrX0GZnnHe8sSHrnnL33bTA6951OvjAwadFvZIHvy0wmmYXd+fm2njMTJ8X\n6g46+o6Z53WjFFOC3iVV4eTTc2scQaaYDsY8WaRK3ltHZwxcatymVefMClwA\nuSkIXDRqECqXT+0WhxtKWQT3aJUNsumb+vs/619Jqv8lmtu2R9dnmrMzCbbp\n9B+y\r\n=QZAt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFD9mXbR3s+p63o6EuAlHPg3/Y4z6imGSTQhaYyZw+STAiEAoIp+kghZe0HNiZCWo52IdylbM6iVgJ09O3j7fsyVeAo="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.10_1536289122490_0.5191192829357711"},"_hasShrinkwrap":false},"0.1.11":{"name":"@icedesign/form-binder","version":"0.1.11","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.0.4-0"},"_id":"@icedesign/form-binder@0.1.11","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-jyMPbHW3aXjh0munwcuqmbFhoS9af1PSYf+GO2SJSinNyrcP7bOgVwzsU2/0PZcdC1db9bTd3ohzJE9LPTHE2Q==","shasum":"f8787ff87ac8154d0f55ba137c6e481a0886e7b6","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.11.tgz","fileCount":19,"unpackedSize":49704,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkf3ACRA9TVsSAnZWagAAtwEP/i5MHcspG+GW8hixg5nm\nHorHTJBZqejcVBdquCxOPhgueX0ml+nw/M1EfR9uwNLnUpU41kyEaXEfmH43\nXGo2JAu92/7OVlPPRamtV3hqzflz5cfHlct9QeY6zsC9wePP4R5v377wV1fl\nalaKHHHTNREXF2VqhYCfSLhGtpfNkabT+PdZO/sT5eoAVBsqBg50FBjsNYIu\n9G7Xw1j+ifRPxteu8PunELa2VddQscLDG9oTvW8+TKK1fLoUZSJ8XozkrypH\nipRwZxk/7Lc9QlRFo3bDDatXPB5q8/jN+SQ0hstZbTeweIGSu/koDSJ2m7US\n+XSTHQJol9Ijg3pFfY6+AaV3O4kRRGrK71/zvaQ902l+MP1JfxRSyy6eOZmv\nba5epgCy8Xbp2X399gzsKsgsaN3oqQbaCPzdDyICfdMdukttTeOkCkKyHsMU\nByrrk/oXhZ31mkOStCzRR/meLTZG0OJPsird4G+57zRMDZneyZYBYDCNQbB9\nSOptU/jXho51gMMedM4zy12ifmHPyewNzul1MQGMR0CipJiCz2VwadeIIAOu\nq0GL/l0E5+xQ+7tEiXnMo9CSy9R65Jsfi9CHhUh0jhjLfVCPOpsbXLqHQ67E\n8/dWrQy6YBZd6Vuzu/jZQVy5qiSh7qGJmnF2SgU4gmUMr7pF0Bwh6zjIZrKe\nY2J7\r\n=zki1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkC7tF7hcStqHqVG5kUvim7fp8ICj7LYGcox7t4pBPrgIgEWjULlvEphN88jw4Wc3U7gYvwgJh7cw6gVb7kqV+PN4="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.11_1536294335644_0.612950134631429"},"_hasShrinkwrap":false},"0.1.12":{"name":"@icedesign/form-binder","version":"0.1.12","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.0.4-0"},"_id":"@icedesign/form-binder@0.1.12","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-rFVBIqplw3CzEg5OWmt4bcG7fmR1RzTZkWsv1GeBV269L7pYGL2CL+WfQ7qSwbnCzRSoq+XzXAJWfsmrmcqxNQ==","shasum":"08c877155d29ff664d2599a86105d1fe80a21bd3","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.12.tgz","fileCount":19,"unpackedSize":49753,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmNDOCRA9TVsSAnZWagAAFdYP/jFHkZgb8dJgktnnQj6C\nunT+Hj1f5Az8AEcw8/b+xHKIBBHxLeSP7j7U53+huwv6SemZ5ILS3Xk04fIk\n6od7Fvct9Tzw5dSxj7RERdSPNo0BalXzMwzgYzdqLGlwWAl3Q8RcjBMaJ6wZ\ntpP/Sa7w9OH9RchSy9OUjgwJlRwZzjtztvA8qPqrLlLi92ja38zi5r9IOpCz\nIsgKxpRwin3cmw/GlRRz+eRfdcDrnjTevo2fJGMQ0F6sb1SHB6ezCBN+MGUY\n9NJUL79qDppeG5P3Vk/JwyMtetb3jy8Gp61/Tt709C21QMGljNXKk50kDjOw\n307EIzTEkhnShi4eW3r32YAz0Cz+OYn6FOwJbEsaEBY98+01Q99EPyrkIJBT\nOel571zVoJvMKmZE/zkLXxTmzK5fEZqWDxE2IcCVXpMt0V8CXO5VSQ4TR86X\nlvuE+bhJNxVVY2HJ7IDp4rvAQc0ETrGN/wCm449Rht2wodrKORwZzY6Mt2Mq\nvV4ONGLeNm6V+mtwZNSuoTX4V4uJmZgq3YKvB8LbS9ko9wE5khbbrOSL4WA2\n8nAMsPqsNYjhmQ+3JjPaB90lSj6HwemSkstQbo0J6/ybSKUq4P/RI82EBfqV\n9o9480BMVHFF0E9gSPnrLltGZWPEsIHm+7cA4QFLpn7yOVUOezhJPGVOamnZ\nlP4h\r\n=xdxl\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAEbUaRO7YnS/7AJzbLqH8iA5j/USBfMOzKx5GksAsnAAiEA1C8qtQx4t5mRvLXI/rVgwrZn1k4KhSJJgrO+0/nJ7Pk="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.12_1536741582060_0.8438486478357925"},"_hasShrinkwrap":false},"0.1.13":{"name":"@icedesign/form-binder","version":"0.1.13","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.1.11"},"_id":"@icedesign/form-binder@0.1.13","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-Qb39UBxGKVRIfCisBmB2h91VqYJhOEXm8CrGlVWZbgN90sBmtJqXTb0Zd0YSOcBYszdVL5KNO9TcgsgP9Wv5Aw==","shasum":"38b90a8b1bac7757f0228b85f806a40710ff70bf","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.13.tgz","fileCount":19,"unpackedSize":49734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmlqSCRA9TVsSAnZWagAAhtMP/2p7P/JG6ycBSV+kHFNY\nODgNFS/Y/CxilbtYeW1JnjilT7jLaKZuRbDISs0GLmGfZbUxqWaRxBjKXWhL\nmF8eFIb+g3AD69cPKNFNjtlHNZQ777XZ0MHTSlLVnV9MttaV4SkmjXheXoSs\nTbfdwZ0WYbvpQ69gFZbBlrc5zj6HXIVPK+J5CSygBhESJiWO0Xu2q/+sDVAA\nwoafGaWNL93LhXb2LDPpkT57oyjWqHNN5HDh05wQ2a3OOG1vl8I/klxsVPK/\nTwN3hnZJPpBGFHt6ulpvqmpdCrrb3t9DvEiH+XR5fMIIoWHhSvJP3zyxX5Hp\nO/4hU6mw/ovpilrwTZ5UCty/qsMv3E3Bg4OwKZ2ykB6pXiQdBzkJ/C5yiTLE\nwmdKXB0VEj+jaVubKBveHVR3L6r2NwvrLMU+KUzZdSRoT/WBOYrrtihjvvE6\nAwwecTpDptgO3PHYr+Fsuyl/W1Ec72e5QTXcSSCXBRfkVdvce3BAjJkl7F2K\nZVM1d3PmvF1uTYGBUelCCLoFc5v26OcUTSk62iRPjQjGaqNldL0EyTzbiVZ0\nehEUU7RomJjRJIESIVoWBNJn5KS523jJzpNNWSvV7TKjTz4VhC3RZ5XlZthV\niwY/63XIc+HlUgoFDErrcwgX8WbYL6/Ho4ALQxHhv+DhfxeUrm7eV8gtmiXa\nQFFM\r\n=EPpL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCD5ImzSdsqyWtu7TVdV/Fk71cT0k7ON82Lfw8kQukR0AIgSUE3dKCn9OTK52zMiJ5UjVyh8EVHP/e7h53pMAaZx5A="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.13_1536842385483_0.22091902114627082"},"_hasShrinkwrap":false},"0.1.14":{"name":"@icedesign/form-binder","version":"0.1.14","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.1.12"},"_id":"@icedesign/form-binder@0.1.14","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-XFvGuwoQmLnrvpuT7mY0oXhj8f59PpW+gyXw+6i+t3rJ4BTZXS6ltIaD6g1r2v0Si2VGGVgLaQ9ezMDv2Seuqg==","shasum":"3c7a23969e0a61c31d5c6c89a4ef7027e40919f7","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.14.tgz","fileCount":19,"unpackedSize":49734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbnx5eCRA9TVsSAnZWagAACoAP/AjtqWCiHK+EQ3uaoxUG\n4ht+iWwbLA2TJLdFOsjJsABnQ/IwJHoeMiAoyRb1WZFe+K4wB0g9RhABWWq9\npTOKruN15/2mN4zGC6p54ZZ9CUEiefVZ2NgjNISNTWxbQObKJd4JG6qKVsIl\nT/94IEoqRWYh3oW3Pt5ZILvGnyBU/NJYkfMjajrXhzldV7SVhobxho2gpg1Z\nkQhgjDpYw39kW/hRCGONvw/2sqTJlTnxGT/17OM1ZLf4lOHqL5TZoCnx72T1\nYZ8HD5jo8jZ54yZdJfo0Af66Aa5ZcPd3+52QOH2JxXIyEvetBI/oKbyP0bgc\nKEmM+t4fjxT/GAVAaZvyPR2027BelSNG6GBnCGfKPWz+KUBqjg29ugi5J0vp\nEgnOehaioZ2elmvigO/TzWNqmqBjPcEpaNO3aF1ubKfJAV8+zDKpCm9c5cAX\nDOO/O1/0kYohm/kYWAcD/noNJBxMSD4HDpflwq+W6ku9anYsOLiWrQ5cnt6S\nJC8AxLKUY9X/saOxmqDlhBpsO2IvXF8FuEyx6kVANo89qRPkZX8vMfl/j6XC\nxKAfsQNCjfwD+Vps/CCSsIcn5az0xYcGG4fqUnBFF1y5d1OgjuubXwzeuejJ\nhqsuluSt2p/2WZgDJr8WEZ5LjVH0M0SoXGht98ixckNSwUyVeQFFvRI80YbO\nvtZS\r\n=1NC7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQIde1JzOf+1kcACASFtKGg1tB9IjWY0Gu3Cjsyvv0qgIgBTixrREFacegBKEe1ghXaHKOW+SmCNMso9xPBcC2XcY="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.14_1537154653395_0.34808016212255555"},"_hasShrinkwrap":false},"0.1.15":{"name":"@icedesign/form-binder","version":"0.1.15","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"dependencies":{"@icedesign/base":"0.x","async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.1.12"},"_id":"@icedesign/form-binder@0.1.15","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-IJYSSHwikFcqWU4WuzaEqcwlh47g5BTipw8P/ACawBLCRh5uP3mRDHXukPm0qDum6QzNzhBAqA8WUmoKG/xTkw==","shasum":"0e482ef63ff61f66a92247fcb918baa0024158f9","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.15.tgz","fileCount":19,"unpackedSize":49375,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbojZICRA9TVsSAnZWagAAT7YP/iBaoB0QSIKdGynuYPDs\nGXRRurt9FuX0zb+iGBuDWqdmcd4ps8uGAX78m5qhWBxsNupvjrvxJbWVawqs\n96RAUrqyubCF8dkLAS+6r7Yqn7AxaSeQtsEhD5rBnJ2ubojt1whXaZcDwbGl\n3JE3ssUg1EavdYxlVXPr4WMAdRXnOi3BV9Lc3ram170r1yssxKgJU+PlEVuW\ni5kfsMbIbR82RBoArXm5hsFIswsrFlfWrIvJMTg2VkVtKnimX9ZGK+MTTBKK\ntMFfhMx1O957nr6K4f9Hmj2P3YgxNH/qkleQ2pPYSG+F2v/UelmPJ8Ik2BtW\nB7M42er2sjnKCUaYenJa68XhJfsMuV7Xn4Sg+5SaUQjXtIA+6iXZApe+sKg/\nbKbf7bcLbFgxpjoXeuX5ufLNX+R3N3tHTYoREVJRHnxhnCeWfvAIiILGKDkg\nBHsj+/xBHDMnVo0sqpnMwSM0MV1Ib4sqbEWXZ8w1HptFSH/29pfwg7def+a+\neQOuF8BTUGu874hxetP0rooG8HErjEApVliHnZ4V77Mrpr5sr2NepMAh+cba\njUdWnSJO6wbGb8aFcUDLLirhjU+w/v3+3boUfACLTkhQZeYk/xRS3pVF0QyE\nPrtp1AeCIN4iaDLFD2a/3OYQdUdIvfRHgm0z73tbn7fzdhnfDaJ7Jj2Ic3Un\nnO+9\r\n=shtX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDAKfqUezWjDUj7Y/y3jqDTS1KOTK1s4ubS16QdC3KbJgIgY4P74y7Yn4NMVflrqNmlttN6NOJPds/dnur5/ICcp4E="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.15_1537357383274_0.8822761227748461"},"_hasShrinkwrap":false},"0.1.16":{"name":"@icedesign/form-binder","version":"0.1.16","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.1.12"},"_id":"@icedesign/form-binder@0.1.16","_npmVersion":"6.4.0","_nodeVersion":"8.10.0","_npmUser":{"name":"noyobo","email":"noyobo@gmail.com"},"dist":{"integrity":"sha512-v06/xTweXUq3HcwQwgel1qO7VPDt1f77BngVXR4Jim8BGJ459wSW/3S9/cvtyI3PdkhD101U6EEmf8DzSIXdBw==","shasum":"1ba6eefe17ed6707ed7fdd483f7009c9abf2054e","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-0.1.16.tgz","fileCount":17,"unpackedSize":48725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbo5p7CRA9TVsSAnZWagAA//AP/2yVrL3WSgV/iljCFVTA\nWxKz+ZUn/x61C1TRsvUmCTAJROSfUKB3/HToQp/KVavJh4+sNq23sDwdLafC\ncOKB3bz2HLWpunvIBJ+YWBaP01SH/IGK4Haf1TN0qN6NHhyYRAYGxIcOZbv3\ne4CTn3TBzV0FDk+5KK4PC32P4rfAXyYgk3FfUIIu3ic8KjuZ4I7NlOp8BnzE\nN/yHEs9J9sAIzIkbmlij1YuJrG2+JRo3cABp/QXLmQQyOyXfLMCaYhMpgy2t\nRIvymz9hwXieJVtdUUUmKmcQ4SP1hsWQknxdr9PGo5ygKKmwz8NkZB3EojIm\nwD1Q+Sd+wqu+QLn5tv1ArLJdKu2uh1lm5ywXmOde12mmc2il5HSPsy+BKmtf\nnv+xm/K4yt1LZmxTS+IfnjMvALF4fiSNM4IhSikHWcfpD1Wcz5RohLuuyBMH\n696X6GG98GvnS16gq4AkF28cgpuNzifJWiz0QTGZ44ZHirIbgtfpqAfk7XvV\ngsaxtWn5DuzYLgvqwwCHUx/ZHH6NdOIy8dJpVsye6KfwbcC+XZemL8ZhdPJh\n9AL7runyx3u6YDTrRlTmZOfYmVVFEado3flkBMMU24p745xwCXIhfmH1RzrY\nN3APnPLGnMJPV5izE9B2rPJBdFLz3D07XKkq9QsFnqNch2b4nYVOgwEpEila\npaTp\r\n=TE7B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBpq6NIERNUFB/1Ujm9d5Hz78KmMCS0ga+0cBJFn0MknAiAiPppDlb8WUlUd6l3Wy254OocIN6cfYx5VgCal7zj8AA=="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_0.1.16_1537448570867_0.5805950978804135"},"_hasShrinkwrap":false},"1.0.0-beta.0":{"name":"@icedesign/form-binder","version":"1.0.0-beta.0","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.1.12"},"readme":"---\ntitle: FormBinder\ncategory: Components\nchinese: ICE 表单粘合剂\n---\n\nICE 表单数据获取方案。\n\n> 说明：如果使用的是 FormBinder 0.x 的版本，请移步到 [0.x 参考文档](https://github.com/alibaba/ice/wiki/IceFormBinder-0.x)\n\n## 安装和升级\n\n```bash\nnpm install @icedesign/form-binder\n```\n\n## 表单功能\n\n- 表单双向绑定\n- 表单值统一处理\n- 布局自由组合\n- 对数据的有效性进行验证\n\n## 表单元素\n\n表单元素指的是 ICE 基础组件以及业务组件中的 `Input` 、 `Checkbox` 、 `Select` 、 `Range` 、 `DatePicker` 、 `TimePicker` 、 `NumberPicker` 、 `Switch` 、 `Upload` 等以及用户自定义的组件，它能够响应 `onChange` 等用来获取用户输入\n\n## API\n\n| 方法名           | 说明                                                                     | 类型                                                     | 默认值 |\n| :------------- | :----------------------------------------------------------------------- | :------------------------------------------------------- | :----- |\n| validateFields | 校验并获取一组输入域的值与 Error，若 fieldNames 参数为空，则校验全部组件 | ([fieldNames: string[]],callback(errors,values)) => void |        |\n\n### FormBinderWrapper\n\n整个表单的容器，支持传入 value 和 onChange 等属性，其中 value 会作为整个表单数据根节点，交由下层组件去获取、更新操作\n\n经过 FormBinderWrapper 包装的组件，数据传递和同步将被接管，这意味着：\n\n1. 你不需要使用表单元素的 `onChange` 来做同步，但还是可以继续监听 `onChange` 等事件\n2. 你不能使用组件的表单元素的 `value`、 `defaultValue` 等属性来设置表单元素的值，但可以通过初始的 value 进行设置\n3. 你不需要通过 setState 来动态更新表单的值，因为表单默认支持双向数据通信，但可以通过 setFieldValue 和 getFieldValue 来设置或者更新表单域的值\n\n| 属性参数                      | 说明                                                                  | 类型            | 默认值   |\n| :------------------------ | :-------------------------------------------------------------------- | :-------------- | :------- |\n| value                     | 表单值                                                                | object          | {}       |\n| onChange                  | 任一表单域的值发生改变时的回调                                        | function(value) | () => {} |\n| enableScrollErrorField    | 全局校验时，是否开启滚动到报错表单位置                                | boolean         | false    |\n| scrollErrorFieldTopOffset | 全局校验滚动到报错位置时，距离顶部的偏移值（适用于头部 fixed 的场景） | number          | 0        |\n\n### FormBinder\n\n表单组件粘合剂，将其作为 FormBinderWrapper 的子组件，即可实现双向绑定特性，之后表单域的改变会通过 FormBinder 转发从而响应到 FormBinderWrapper 的 onChange 方法进行通信\n\nFormBinder 支持的属性包含以下两部分：\n\n- 自定义规则\n- 检验规则\n\n**自定义规则**\n\n| 属性参数          | 说明                 | 类型                        | 默认值     |\n| :------------ | :------------------- | :-------------------------- | :--------- |\n| name​         | 表单域名称           | string                      |            |\n| setFieldValue | 设置一个输入控件的值 | Function(fieldName: string) |            |\n| getFieldValue | 获取一个输入控件的值 | Function(fieldName: string) |            |\n| triggerType   | 指定合适的触发事件   | string                      | 'onChange' |\n\n**校验规则**\n\n| 参数       | 说明                                                                                            | 类型                                    | 默认值    |\n| :--------- | :---------------------------------------------------------------------------------------------- | :-------------------------------------- | :-------- |\n| enum       | 枚举类型                                                                                        | string                                  |           |\n| len        | 字段长度                                                                                        | number                                  |           |\n| max        | 最大长度                                                                                        | number                                  |           |\n| message    | 校验文案                                                                                        | string                                  | ReactNode |  |\n| min        | 最小长度                                                                                        | number                                  |           |\n| pattern    | 正则表达式校验                                                                                  | RegExp                                  |           |\n| required   | 是否必选                                                                                        | boolean                                 | `false`   |\n| transform  | 校验前转换字段值                                                                                | function(value) => transformedValue:any |           |\n| type       | 内建校验类型，[可选项](https://github.com/yiminghe/async-validator#type)                        | string                                  | 'string'  |\n| validator  | 自定义校验（注意，[callback 必须被调用](https://github.com/ant-design/ant-design/issues/5155)） | function(rule, value, callback)         |           |\n| whitespace | 必选时，空格是否会被视为错误                                                                    | boolean                                 | `false`   |\n\n**推荐：**\n\n1. 建议统一使用 async-validator 的校验规则，尽量不要使用表单元素的相关检验属性，这样做有利于代码的可维护性和优雅\n2. 更多高级用法可参考 [async-validator](https://github.com/yiminghe/async-validator)。\n\n### FormError\n\n自定义表单的报错信息，自定义报错信息时需要指定 name，以此来获取当前报错的表单域来源\n\n| 参数      | 说明                           | 类型                       | 默认值 |\n| :-------- | :----------------------------- | :------------------------- | :----- |\n| name​     | 表单域名称                     | string                     |        |\n| style     | 自定义样式对象                 | object                     |        |\n| className | 自定义样式类名                 | string                     |        |\n| render    | 自定义渲染报错的组件和处理逻辑 | Function(errors):ReactNode |        |\n\n## 双向绑定协议\n\n双向绑定协议指的是组件接收 `value` 和 `onChange` 两个参数，其用户输入值由 value 提供，当用户操作组件导致数据变更，组件会调用 `onChange` 并把新的 `value` 作为第一个参数传出。React 社区的大多数组件都遵守这个设计，如 `@icedesign/base` 的 `Input`, `Select`, `Checkbox` 等，如果你希望你的表单类组件能够接入 FormBinder ，请务必遵守这个协议。\n","readmeFilename":"README.md","_id":"@icedesign/form-binder@1.0.0-beta.0","_npmVersion":"6.2.0","_nodeVersion":"8.9.4","_npmUser":{"name":"chenbin93","email":"chenbinad@gmail.com"},"dist":{"integrity":"sha512-e+FbeEbbqqps2zTKmQE13dQtm4MmBKXlT+XqSiqiggzkOwncnCJ0Ykaxp7wOybyoUdeWRS8dmpElI+OAptL/9g==","shasum":"0a04fab5f900b1d4e478844094107c2d5f3c8095","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.0-beta.0.tgz","fileCount":12,"unpackedSize":34542,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb2plTCRA9TVsSAnZWagAAWbAP+gPjVPiMkGq7tpSHUnvv\nk6dTKN7a63nO4QrHFoJA33lEKV0zunH6uMjUoh1SanEBm44tsidAeSRQYiRg\npsesfgywoCo2zy9nUHeZElrbxvU4/tugWwuve9wRaVvLXoNlrRrDb4zMPY36\nppuVpkfxV4u8gzuThrBuYrgGig7VNYIscmGRDAa50D171OaN9MAWSAdF/dbP\n9vL1Imo9CRRiou/YqREiI7yZKimQUiRY+ajqqB/A77T+ViyDs3oTihnANBd+\nXlADxpkw7LhMmTrCsNOg3O4lmTlcqP5EXC+2cqwD2AfenwkD4K8FuiuumARB\nBuOjEeNQ3LE5uheheROiuXKszV3zk3jyJ+NwbLmrgQbMCBwaxSSb7aVtyZG3\nkd4ixfgUSsluudfm5IJeZKz7h14yGxzTu25ZPFou9Q0snD+bg7d5e4zIPAFU\nXpoPMqRxdhCK8y37wq9Tk297RdSags995I6wY12Nufa5VeGL/Uxh1izyXIsW\nDxBqS1+NGhmfCRpjOd7usNGg3t4A5B+MTJuFV/bnsiPxstOGy5OI2yObOtIY\nMmP4hK9oWDfYL9QKJZADSpcK+cTB8aPpRn5hLLQpMeA7FAHV+ZWQLLuDxVr7\nd7tBZGQAZ6FXssRl5KUtra1IcO4U+bIwjncny1IQxRMskrK/x9NWAJr4cVkw\nkBBs\r\n=oBiw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDelILNK2lIT2X2fz6vG+NyVrEMcwYAp/aSrDu40wokJAiEA4LF853QHN58EqBoelLcM71IKwIUJcGFsokJDAdYb0nU="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.0-beta.0_1541052754640_0.9452857039520037"},"_hasShrinkwrap":false},"1.0.0-beta.1":{"name":"@icedesign/form-binder","version":"1.0.0-beta.1","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.1.12"},"readme":"---\ntitle: FormBinder\ncategory: Components\nchinese: ICE 表单粘合剂\n---\n\nICE 表单数据获取方案。\n\n> 说明：如果使用的是 FormBinder 0.x 的版本，请移步到 [0.x 参考文档](https://github.com/alibaba/ice/wiki/IceFormBinder-0.x)\n\n## 安装和升级\n\n```bash\nnpm install @icedesign/form-binder\n```\n\n## 表单功能\n\n- 表单双向绑定\n- 表单值统一处理\n- 布局自由组合\n- 对数据的有效性进行验证\n\n## 表单元素\n\n表单元素指的是 ICE 基础组件以及业务组件中的 `Input` 、 `Checkbox` 、 `Select` 、 `Range` 、 `DatePicker` 、 `TimePicker` 、 `NumberPicker` 、 `Switch` 、 `Upload` 等以及用户自定义的组件，它能够响应 `onChange` 等用来获取用户输入\n\n## API\n\n| 方法名           | 说明                                                                     | 类型                                                     | 默认值 |\n| :------------- | :----------------------------------------------------------------------- | :------------------------------------------------------- | :----- |\n| validateFields | 校验并获取一组输入域的值与 Error，若 fieldNames 参数为空，则校验全部组件 | ([fieldNames: string[]],callback(errors,values)) => void |        |\n\n### FormBinderWrapper\n\n整个表单的容器，支持传入 value 和 onChange 等属性，其中 value 会作为整个表单数据根节点，交由下层组件去获取、更新操作\n\n经过 FormBinderWrapper 包装的组件，数据传递和同步将被接管，这意味着：\n\n1. 你不需要使用表单元素的 `onChange` 来做同步，但还是可以继续监听 `onChange` 等事件\n2. 你不能使用组件的表单元素的 `value`、 `defaultValue` 等属性来设置表单元素的值，但可以通过初始的 value 进行设置\n3. 你不需要通过 setState 来动态更新表单的值，因为表单默认支持双向数据通信，但可以通过 setFieldValue 和 getFieldValue 来设置或者更新表单域的值\n\n| 属性参数                      | 说明                                                                  | 类型            | 默认值   |\n| :------------------------ | :-------------------------------------------------------------------- | :-------------- | :------- |\n| value                     | 表单值                                                                | object          | {}       |\n| onChange                  | 任一表单域的值发生改变时的回调                                        | function(value) | () => {} |\n| enableScrollErrorField    | 全局校验时，是否开启滚动到报错表单位置                                | boolean         | false    |\n| scrollErrorFieldTopOffset | 全局校验滚动到报错位置时，距离顶部的偏移值（适用于头部 fixed 的场景） | number          | 0        |\n\n### FormBinder\n\n表单组件粘合剂，将其作为 FormBinderWrapper 的子组件，即可实现双向绑定特性，之后表单域的改变会通过 FormBinder 转发从而响应到 FormBinderWrapper 的 onChange 方法进行通信\n\nFormBinder 支持的属性包含以下两部分：\n\n- 自定义规则\n- 检验规则\n\n**自定义规则**\n\n| 属性参数          | 说明                 | 类型                        | 默认值     |\n| :------------ | :------------------- | :-------------------------- | :--------- |\n| name​         | 表单域名称           | string                      |            |\n| setFieldValue | 设置一个输入控件的值 | Function(fieldName: string) |            |\n| getFieldValue | 获取一个输入控件的值 | Function(fieldName: string) |            |\n| triggerType   | 指定合适的触发事件   | string                      | 'onChange' |\n\n**校验规则**\n\n| 参数       | 说明                                                                                            | 类型                                    | 默认值    |\n| :--------- | :---------------------------------------------------------------------------------------------- | :-------------------------------------- | :-------- |\n| enum       | 枚举类型                                                                                        | string                                  |           |\n| len        | 字段长度                                                                                        | number                                  |           |\n| max        | 最大长度                                                                                        | number                                  |           |\n| message    | 校验文案                                                                                        | string                                  | ReactNode |  |\n| min        | 最小长度                                                                                        | number                                  |           |\n| pattern    | 正则表达式校验                                                                                  | RegExp                                  |           |\n| required   | 是否必选                                                                                        | boolean                                 | `false`   |\n| transform  | 校验前转换字段值                                                                                | function(value) => transformedValue:any |           |\n| type       | 内建校验类型，[可选项](https://github.com/yiminghe/async-validator#type)                        | string                                  | 'string'  |\n| validator  | 自定义校验（注意，[callback 必须被调用](https://github.com/ant-design/ant-design/issues/5155)） | function(rule, value, callback)         |           |\n| whitespace | 必选时，空格是否会被视为错误                                                                    | boolean                                 | `false`   |\n\n**推荐：**\n\n1. 建议统一使用 async-validator 的校验规则，尽量不要使用表单元素的相关检验属性，这样做有利于代码的可维护性和优雅\n2. 更多高级用法可参考 [async-validator](https://github.com/yiminghe/async-validator)。\n\n### FormError\n\n自定义表单的报错信息，自定义报错信息时需要指定 name，以此来获取当前报错的表单域来源\n\n| 参数      | 说明                           | 类型                       | 默认值 |\n| :-------- | :----------------------------- | :------------------------- | :----- |\n| name​     | 表单域名称                     | string                     |        |\n| style     | 自定义样式对象                 | object                     |        |\n| className | 自定义样式类名                 | string                     |        |\n| render    | 自定义渲染报错的组件和处理逻辑 | Function(errors):ReactNode |        |\n\n## 双向绑定协议\n\n双向绑定协议指的是组件接收 `value` 和 `onChange` 两个参数，其用户输入值由 value 提供，当用户操作组件导致数据变更，组件会调用 `onChange` 并把新的 `value` 作为第一个参数传出。React 社区的大多数组件都遵守这个设计，如 `@icedesign/base` 的 `Input`, `Select`, `Checkbox` 等，如果你希望你的表单类组件能够接入 FormBinder ，请务必遵守这个协议。\n","readmeFilename":"README.md","_id":"@icedesign/form-binder@1.0.0-beta.1","_npmVersion":"6.2.0","_nodeVersion":"8.9.4","_npmUser":{"name":"chenbin93","email":"chenbinad@gmail.com"},"dist":{"integrity":"sha512-0QlzreRNFiDVEERVg0Ew8K4GsHXkShuEHtFXjIAhP/bXKlPMBdOa8rZX2+r9bZxDar4IX1ZWtzN/F7/Z9qDxKQ==","shasum":"7eafa8ef9e82f4a0041064f88956a08fcf98abf9","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.0-beta.1.tgz","fileCount":12,"unpackedSize":34573,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb2p70CRA9TVsSAnZWagAAe0wP/AgXb6/mWCpCH+SKhUEW\n2OgzEJw4It+NDkRjuciO9sUoAYmAUtRMvQdVR+fjAfDiMdbfFqzGR8rLQgQH\nDaP5AEhOtBeqeyB+F5aUc7OTG508teAmUIIewJ975U0bNO7giA39hA7301O2\nIoEJRsYKiyeuZ8Nn6YVz02k6XnnEwSWGvJlbYKc4DsJb69ra3sCrufOcYdez\nfxMdygzRw4E3WCm4txG920YusENYsu585LlM7rAcAwZq1t0zqxMoVQZ2foei\nGhgEsz7MsZmZ0qMD+ut6dH8wp2KsEAVvhTu5hOiN+JHicnjvhNQwPet42k3K\nOlwnr16c8nltMeMW60+cyzEn9a+bExK+I4wlqX1koV7GKkaAtCEMzkWtNubl\nq6BAaPAdpxO+jEz1h/WePcB7Jnch7kWTrWm1FyDW9zFtdQMzu8+B0R2Ot9gY\nF3V4Ja9JUJk2xhWVmxgLysr7YWhzEj7Bey0gIxFkvUnbQQJt7VleHwTjeB+i\nDSdCTphcV1ed4I86sh2PHO+h6Y3upqsvEqasqPbGF/A0gmQgrIYrn/RRbMgh\nWaWzTbyl4fzlgVy2OvYfz74FqYBNQJ3ZgZ3FMcenBGzi8C6B7e/LoGQsdZqm\nDvUeOKQsFuClctNyrDUnq28YxOq+KFKC6HN7NI3h3o+296LQiUaTb0vBUp+T\nCNFO\r\n=0j5T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2ccipldpvoBDPGGkV2LA7HlsJLNiv72jMrfI1rlcniwIgQ9IibtAqyzwP+W75uItRhBG9Ef63XDBUJpmY78DQUE0="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.0-beta.1_1541054195239_0.9269264359973843"},"_hasShrinkwrap":false},"1.0.0":{"name":"@icedesign/form-binder","version":"1.0.0","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.1.12"},"_id":"@icedesign/form-binder@1.0.0","_npmVersion":"6.2.0","_nodeVersion":"8.9.4","_npmUser":{"name":"chenbin93","email":"chenbinad@gmail.com"},"dist":{"integrity":"sha512-2jO3Ik7GcFLxqryC+54tXQCW9HPE4VkKdNkirPWlTzvXNWSK6LlozzRmdttXeA0NhOc3S3dD6emTx46jg+NCkg==","shasum":"45c48813d38ddd82d35ae59119082a288d368481","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.0.tgz","fileCount":12,"unpackedSize":34535,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4QLVCRA9TVsSAnZWagAALKoP/R2QWCGU873sOZxhJ2pz\ne+BLyRmJfuz0HwohafYuxSEOzfLdASqtfNaWcyimdkQF8ikTV59trM2vO8rz\njrtHAZAbdn3OxnCp6t1Q0CuopMGf/aGHgODKMrFqbibIUA/zF/HYQKSgwt/L\nNJ/X9Y3QLfjjxaEzuhBUnHXiQXAYppuQZZx4WQsnVsp4o543XsIEYBldSjZf\na6oawxuNXjJ1VfwDc+CbOLWbSi5ZQ7Zs/dMibtGHGCGDUFLOQaxzGFreDqLy\n6CUdcbTLn1J/6dUeqaPTows6Yo3LpIeFY4+VzwTvXoDZeE4+r5RLHpgq6uI2\nw5OzhYx8AgEaQzEc+BZBBTua/Yz5+oSxjIjBo5blHbJas0MM/vik3IB/eJbB\nlMMctZR/tbdRUpBGj8MU0OWvXkl9svw1A990dRaOC5YZ0KsQPJ23BOnTHVal\nXuH0RRRZplUKhPK8iucOM3PYvDfAZEirsDDSvGIU9Z61qlF0nQ5tc1S1K44f\nEUiAFdrZgxRngdjzLA/ViSZMzAS+TbTrgYTfS2gBt5d0n/kQ+Gnra9a1ZKRP\n/o8OAcb1SvL2OhV10+lNUYNU2tRyRBtnL20NS0S+3fOCWF6TqjrxFHPi8uBp\n0WTW4G5pZ0UpkKXD1KTvqprX+Ef5SXcC8nnCJEKk/ux1fRoptTagLhCNRw2g\nhhXe\r\n=L1rC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDFrqalGG+v1FeWesQeWlLnnKVusM1+nx75SK+gkPp98AiAk+GsJBD1zlmjGq5SNuuMgLsKtuSD4i5Tl+6C8CKR/eg=="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.0_1541472980220_0.9283510067340777"},"_hasShrinkwrap":false},"1.0.1":{"name":"@icedesign/form-binder","version":"1.0.1","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.1.12"},"_id":"@icedesign/form-binder@1.0.1","_npmVersion":"6.2.0","_nodeVersion":"8.9.4","_npmUser":{"name":"chenbin93","email":"chenbinad@gmail.com"},"dist":{"integrity":"sha512-5fEF6XZyhtzSKLwVXZ5Hib/2PxbPkEIAakfVqP1FKN6fDrX1ffo9K6R9xoHi8YqB8EVFtYA6Sq+mNa3kvQnYnQ==","shasum":"23a958d9db5cdbfb3982a10972767e22137255ae","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.1.tgz","fileCount":20,"unpackedSize":62947,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/mJaCRA9TVsSAnZWagAAhFgQAI+16UWLmTOLwZDhBEUw\nZTcmltibbo+c5fWhfuDRbdOkbMqisWCIbK1ANtuOxbn4zrcUiHackNWtYMQa\ndwR+SWU0drURBtGidaoNN62fYbH2TlpFYCocY6e98su7gk+u2ulKR7B9LMUY\nkj2MSAX5CyR/Z5bfKLsKi7ebTQqnjFAQ8Ilw8LkTjFq8DjLfcM5ok8bC6VCm\nNS3QtQgvplkhmqC+SZ9L6ROfevTbm+p3s4J6rERYkvympr+5Vn66e7d8tsaW\ngJsuxX8GKSXlTDiCcPonWJBeQUFeACrR/NSlyuCvfwcJIESsVjBb9QiKYqFZ\nN8SuTzXXAeb+wLUv+tYT9Wqq61wdn2B+OXFCz3TUdPKL0nERNy2MYFxH9eAV\nts/IvO+u7R+K3uh4GNY1aj8FvBUbk7LcsFzW5ceEQdjYkgT3N2sny3GeM20J\nC/MuefSs47LkeW0+u5lwn38HaJrFDQ5ewVc1sM3r9cyOtL4n6l6dxyoFS69w\nu98M4i52MfQ49wFLJBs7LOMcXaSmPSQaUdbRTDZdBU0DahvzeLxAHPjV5r5h\nxqGP+BIrQ7nCWsTktDHz34eTIyh9yPRPD/aDB+aru5ZMV8JBff2q0Q/wCWWF\nFws1fvELvBAuXRdNM7siua/8rav2OfdhLBO72xsNA02jpvizOt79XD2zYp6F\ndXsF\r\n=tNkI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGlGmWyW9czRhOzvqLuslO12PEIwk6qXXRiddtU3mJ/UAiAFLhK1+RNzzCp/XOfMvZ3J0X1g/0+GKXsBGXopyvRaAA=="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"tao360907796@gmail.com","name":"tao1991123"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.1_1543397977597_0.9013046728300176"},"_hasShrinkwrap":false},"1.0.2":{"name":"@icedesign/form-binder","version":"1.0.2","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.1.12"},"_id":"@icedesign/form-binder@1.0.2","_npmVersion":"6.2.0","_nodeVersion":"8.9.4","_npmUser":{"name":"chenbin93","email":"chenbinad@gmail.com"},"dist":{"integrity":"sha512-slFnnPc3L22lCkNPrzJ+asfIh570srnBeddpoDLtFDiLaB5MJIFOIVj1ZylPItwAlo9MnufKtSkyazuo2KSXOQ==","shasum":"395c768eacaf0d61a18ba3ddd7300a3264b4ce0d","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.2.tgz","fileCount":20,"unpackedSize":63054,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcCOz1CRA9TVsSAnZWagAAEdsP/2/Ql/sHBxeUiMGXjY7b\nvYMxROr4aZ5SIrMTFy3nL0P3S5z3ZP2X59ShZ/LkdjF6ZvSwlo5H6izTf/4c\n00MAcoXsdb1w19dS1gwPeAfi0fwzgKl+dWTTP7hyIU60XBn8UaOrYAj+fwzp\neZFhQPZDw+bY2O+d6ibuJC3MuvGcq59fRxHkB038Zsw+t8VKUkowjHlp1AFO\nkU/ZeTAyLPTo4uEjUN/MCs9cPaeUIoruZT9TpkOpQuvYMpSV9I+VsLJ4PNzv\nrCYrO6KbUkX8vY3b0cfwiAccNUmSGgLlTxJuUtBDunSBoVXn3L2Bn9bl2BKC\nOIko3/wFG+nJFqmBcfwUIvDfzV27zR/9omKpQ6le481t+wxayegimRP9gizF\nAECujon26NsWmZMclDlVfD81yQwXWxS2qLr8ZRZfbaZG3HOMZ9PGyPF+Nva1\n0j8FVerFUnOoZZof1hwhlndBXYkq1R0B+Yxx/BsQvE/5/VqWL34hfodnYuMX\ndTkAvjdypnWD2ZwPF6pstcKm6iprKjPnsPtuQ+pIMqSIf2wYedemviLiY/w3\nVwbI4J95kjQCiMUdoEDZSQr0lHeCldDxUkZ19/MpLcq/twkVJKMNivqOn1Vm\nGnkicrqohPIjh265nyTwe8hETJKWX/fV1rWtMXNeyhu8pq/xsg/+mfAENCIg\nEeUL\r\n=qDci\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHKkJYaA0MtUkjootLyGdd8eWwIKarvp12V21X6SkEHjAiEAzvhsiZ8+u6tXysZDcl7egyfxrV6tBSWvfR3PJj/dvUY="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"tao360907796@gmail.com","name":"tao1991123"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.2_1544088820574_0.9423146936143785"},"_hasShrinkwrap":false},"1.0.3":{"name":"@icedesign/form-binder","version":"1.0.3","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublish":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"ice-devtools":"^1.1.12"},"_id":"@icedesign/form-binder@1.0.3","_npmVersion":"6.2.0","_nodeVersion":"8.9.4","_npmUser":{"name":"chenbin93","email":"chenbinad@gmail.com"},"dist":{"integrity":"sha512-LDGQc1w6CehYQVsCFO10k/OZVH4AY5MgNUSWvNBrmQnADBjxiFMhEuBOdsyY/vhjEMLht+XEl9dnhNSDyPZIBw==","shasum":"7e73bd50c8cedd5da27e185ac09d927f81a8552f","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.3.tgz","fileCount":20,"unpackedSize":62795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGJGFCRA9TVsSAnZWagAAre4P/0ncQhbfMTOo+vIOa/le\nOzhZ/6gXOCKyjHFbltT3ovsPj03prBETnUVpGQRxeeCvkxyuNvVF9LMJHaNK\nAMJHhelzQYJWLFDMwE+2zztvJnWW88sfYRCyWgQNVu8RsHtG6wt/RPIU0W7n\n6xIicscgUKTS1G2w3Vc0uDtO7Rgto9Z6DpB8D/i2x/gxsfWNdX/SznX9sfJd\nyz4FCIIr+mbeDCWTESC9suSKwj1WJS601Tz+6U9oyZyzLYL8VEuV8S0kR5Xw\nxGZx7UGwIYoNPEm2upsy2EObVw4IWWPM52zZURoz3iIbyer0z+wMWouHTFDH\ndmjUj0Uye1EmULBFZ0E0QQZTl7KyChvvgpxrnXZ4A1CgyaHt0eOb+S4KsnYY\nfzAAmhlZSXwrDbbq0QjxeMZN75HoSl2L1J8e5GMSDz2nkx/6yNeqoa/mQb7Z\nSxcHFn8i8VEnA3zeYLBKjoLECmNpPAkXBbOKTUDZut1aiP7IaBB4MWgZDMFM\nKY+bFAxWsKzRcZTlEFz0BLklIIkjOaUIivwUy8jMeNxA4Q5SA4xoW9STY2OU\nGWVVAmwl0/O6tziQM+/Jyn7NULliiM5v/+kzQyNfCOqhZVFyketL16t5izDu\n08eFNVVArfgU4905b+SiWuvMoERFDLLxso3V5qaoYFJyLH1kqBxhbRhWZzdf\nhb9a\r\n=U+eQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLW/8+JA+VvEvF4eYiSsX5IiT0XIkSMNqxvEZIRLx98gIgHXsMeDaUIROFEj0dKAsDMGApAm3xAV7Lpvlxw8eNynE="}]},"maintainers":[{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"tao360907796@gmail.com","name":"tao1991123"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.3_1545113988881_0.6862289998813038"},"_hasShrinkwrap":false},"1.0.4":{"name":"@icedesign/form-binder","version":"1.0.4","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublishOnly":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"@icedesign/base":"^0.2.0","@alifd/next":"^1.11.8","moment":"^2.23.0"},"componentConfig":{"name":"form-binder","title":"ICE 表单数据获取方案"},"_id":"@icedesign/form-binder@1.0.4","_npmVersion":"5.6.0","_nodeVersion":"8.11.1","_npmUser":{"name":"sobear","email":"sobear.me@gmail.com"},"dist":{"integrity":"sha512-GgDEn2IkuOEuTeaMGGQJBGGaHXS9SxwEC5Mnrko98nqsQRPih/GSNBFRqYV2qeDpG6vU5JHBlkl+d6/SQt/F4A==","shasum":"42d134daed5a90c1eb94fe2c3fbd69d98811fe45","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.4.tgz","fileCount":21,"unpackedSize":66540,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcbNM7CRA9TVsSAnZWagAA8+gP/imkqpcudYULcN3ps7yi\nMX4ZqUINgXF4HisTP3zA3YPeXXHHZ2pFOXYwKRqwfpTyQNBNbTDo8solUj1P\ncdF08YNLwouL9GSgbvEIb14BNMA/OdiNmD0kCRGbyefHPDLGTkOEVl0LejTP\nKKsfe0/P3DcRlIpzWay8E59H59o6Bq3Dwcimfocdph0c2FUVM2NdJggOsMXm\nRVgnY99BbvIQIFbToXqbHo8v1RWCEquyqty3EY5isZA1k532kkdhFebCzHN8\n4jsEttQPFfIoTs0m43nXlbj2uK3cEXGpwlw/0qGsuHE7lL1zCxauFCO6ESXS\ng1kl/pa62kbTeQYRbAKUsuziUkUt9ydeIcawpQiaUUl7PlYkWmlrai+9KIJP\n/3wF+5Jb4vAVU8yilZUZYxnuED0FY96AFjFW/9uQzavl2u9yHwcoFK2cak/b\neYN5SU1BOdP4hBMrl63O+SPLNXQVAzSTxFjcwRJtpkKtukU1LxNhECpYWK+V\nkaVajS8Le2cLk5+aEzkoZE9Qh0fOZdz/w02vzXh1bY3YmSr2gsxIkYad5VzX\nmY7qczCTwhEfT2w2JlG2OBv3u9cMAVSaresIMQSRWty3AQnXQ1mJxXvcQYpr\ngImLv8X81VumTAr/od6UVciw/S4NoQuiwzofJp7tWrQFdA+7J1qswkR1nUQg\nkRUc\r\n=8gAw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGjXng8OuqU2eRXRiRzXtpmQXLf0FdoxOvzKbzZJwDNFAiA1CTFl3r6MhkirWHmd/H+dzUcZOnmVDlAD3N9s6Xd5DA=="}]},"maintainers":[{"email":"bindoon@sina.com","name":"bindoon"},{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"fenglai0802@163.com","name":"fenglai"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"tao360907796@gmail.com","name":"tao1991123"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.4_1550635835153_0.4589937290134003"},"_hasShrinkwrap":false},"1.0.5":{"name":"@icedesign/form-binder","version":"1.0.5","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublishOnly":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"@icedesign/base":"^0.2.0","@alifd/next":"^1.11.8","moment":"^2.23.0","react":"^16.5.0","react-dom":"^16.5.0"},"componentConfig":{"name":"form-binder","title":"ICE 表单数据获取方案"},"_id":"@icedesign/form-binder@1.0.5","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"chenjun1011","email":"chenjun1011@gmail.com"},"dist":{"integrity":"sha512-GB/PqM2E6r6ygBERLy3mlin/b9RSZvhyEvNdP6D40Ddf9O4s/y675yK8celudmU7rqztWfCGNca+VJ2eJH6Jkg==","shasum":"beff4f03def01d25a2f2cdef052ae4c28379a30e","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.5.tgz","fileCount":24,"unpackedSize":1449182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfLaXCRA9TVsSAnZWagAALSoP/jEIMQkUjvfvxzfqTwM5\nL6xfUirDUbzwGBgVRPIjGZgpjU5onW/+Nb8oKi5EEUK6PYGNFw+HMMD1akIS\n03GxPnzLJWLHPo6P+0etJresskiqkm+KWqE9+jc/e9mMaqH49Il8aK73xDGB\nz9QLE7eJ+ISd9V4iggUiLkpD3UX5fmgv1pKXkgRtMxFTia5dH4ccp8NdnKKh\nrJZjMlgewVYV4/gW3diCMse2/kiAiljKZo1hVvP4tZdU02urgX5QiAH2t5GX\noRBgLPOPafwR+a0mUhMkzKH4BK/tZHTP9IwmCUk0Xf84mrOuPCv3TkLrORIm\nuRU/hK0LoWQpE7BWkPgfs9mRf5BcXqJlVn3pf2S1axqv49dvfwIBInA/HFVY\nrJQNij/PqMKvKyeKIiTfqg0LRda3H4VD/l/kfJ+gzd1mtmxnVkHBj4+5JRkb\nGF7T7w+SS2uSVDcNBjFHTq2gX1gOyG8iHE0I5g2RuWFVWpwbmCuMOlM7DuDG\nNb5WR3BdcqKmTix4AOT1XSIgXOJ8Ys91faV5QYwI9UN0xsnETjWS4JOw/7p9\nUw6HY63pErnYzDc1g53EppTGFN/qUYSquZWcFnpUIJpz+sw7UCMih7dFGE29\nxclqGlyp42E5/4Joz/lzHpRsB6fc4LPbqiPsh95fWjVa3HBkjPm0Y9Y1PUEv\nxrGk\r\n=3hvZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBfWt4QPkAQAA+NwSh6hWFnVuqQS4aeLEvrh+SSQ8KtQIgL9CSfT5UkSexdx62hByRZxJOCDAAyAc46/EU1iQa7P4="}]},"maintainers":[{"email":"bindoon@sina.com","name":"bindoon"},{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"fenglai0802@163.com","name":"fenglai"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"tao360907796@gmail.com","name":"tao1991123"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.5_1551677078792_0.5820388179551343"},"_hasShrinkwrap":false},"1.0.6":{"name":"@icedesign/form-binder","version":"1.0.6","description":"ICE 表单数据获取方案","main":"lib/index.js","scripts":{"start":"ice-devtools start","build":"ice-devtools build","prepublishOnly":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/alibaba/ice/tree/master/react-materials/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"@icedesign/base":"^0.2.0","@alifd/next":"^1.11.8","moment":"^2.23.0","react":"^16.5.0","react-dom":"^16.5.0"},"componentConfig":{"name":"form-binder","title":"ICE 表单数据获取方案"},"homepage":"https://unpkg.com/@icedesign/form-binder@latest/build/index.html","_id":"@icedesign/form-binder@1.0.6","_npmVersion":"6.4.1","_nodeVersion":"10.11.0","_npmUser":{"name":"chenjun1011","email":"chenjun1011@gmail.com"},"dist":{"integrity":"sha512-tDtXsolPvWB1ON4BAs3rue0PVx0pvHiGO1Kwjy9aeyUfVDGYl5kq5kx/JapyX87cypcGlwojvpzDEVQnTafLvw==","shasum":"e845f9ec6a6db8859540ee531a2c7053d9689f57","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.6.tgz","fileCount":24,"unpackedSize":1449263,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcfOajCRA9TVsSAnZWagAAvV0P/2rlf1pibEIpgrXzyvHw\n56ciT1uoJgHAL5+3ffNQQzq+yx3udSpGNC9un8d4zD9/M3AbuRL8xLfbdPuB\nnOAtf+gkprRGucu2gRQtEokIqTkNpSKTkAMEiCAbQzV0vAVB6U23bFRi8nHi\nWxXWkPfLrWc7Y7sb5cyGnQjt8MxkA8T7XQgOsvSDfZ1g3D09ikmSa7yi4IkW\n/D/+hu5pPjju4RlmlYbNIYsyQW/ssgF4EtETh96v8U+Jzy2y5y8azt9sCtcL\n7FRYiNSGu9Z2O08k6Gl39J81iojVXltHw3Z4+oxztU/a7v63/imvycEacyPo\n3dFaZyjON/SVoHaeGmJbit6dyRlZqQ0QoApqjh7bVdjQ0B0bjdHSHfgbXAZu\nNXCiUGnU6ivoltjn1mxpypE/SprBezT4fET9+Clk5b/HmIrQz+ZLHebk8VbP\noc4qzHl0P2f5lcgfoe7vjXN+0Dg7QJkdnYy8Ib+M2EvFM7la/28tc49i1GI9\nE3/4PwbIYWvjdWZutPODrRvWFNvKFoITOsTSrRS1eSePqwaNkmpg9gZmtoY9\npUXE3675V9gGH4XL0tVZ92oyUrGu1d7XkbCg8obbU5AjARZu0Q9+ldt+VRMG\nCwt9AxXDMTNbUueOqU3TJk+RBY3x4fv6bEgWNt396v3Jc7g8Yoq+hAFE+cB9\nwSmj\r\n=iS5N\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCu0XeICQhI18Fh66OhUj2qH0ceaifcxtLSYZFptxEsPQIhANiufBY7IPobNiD7Aa7gWAWkxu0yd1Yrb4yf41WshfP0"}]},"maintainers":[{"email":"bindoon@sina.com","name":"bindoon"},{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"yudong.myd@alibaba-inc.com","name":"empireo"},{"email":"fenglai0802@163.com","name":"fenglai"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"tao360907796@gmail.com","name":"tao1991123"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"hi@harryyu.me","name":"yujiangshui"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.6_1551689378550_0.24482882051415733"},"_hasShrinkwrap":false},"1.0.7-0":{"name":"@icedesign/form-binder","version":"1.0.7-0","description":"ICE 表单数据获取方案","main":"lib/index.js","types":"index.d.ts","scripts":{"start":"../../node_modules/.bin/ice-scripts dev --config ../../ice.component.config.js","build":"../../node_modules/.bin/ice-scripts build --config ../../ice.component.config.js","prepublishOnly":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/ice-lab/react-materials/tree/master/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"@alifd/next":"^1.11.8","@icedesign/base":"^0.2.0","@types/react":"^16.9.9","moment":"^2.23.0","react":"^16.5.0","react-dom":"^16.5.0"},"componentConfig":{"name":"form-binder","title":"ICE 表单数据获取方案"},"homepage":"https://unpkg.com/@icedesign/form-binder@1.0.7-0/build/index.html","readme":"---\ntitle: FormBinder\ncategory: Components\nchinese: ICE 表单粘合剂\n---\n\nICE 表单数据获取方案。\n\n**说明：**\n1. 如果使用的是 FormBinder 0.x 的版本，请移步到 [0.x 参考文档](https://github.com/alibaba/ice/wiki/IceFormBinder-0.x)。\n2. 如果使用的是 FormBinder 1.x 的版本，需要确保依赖的 react 版本在 [16.2.0](https://github.com/facebook/react/releases/tag/v16.2.0) 以上，1.x 版本使用了 React.Fragments API，支持 FormBinderWrapper 组件返回多个节点。\n\n## 安装和升级\n\n```bash\nnpm install @icedesign/form-binder\n```\n\n## 表单功能\n\n- 表单双向绑定\n- 表单值统一处理\n- 布局自由组合\n- 对数据的有效性进行验证\n\n## 表单元素\n\n表单元素指的是 ICE 基础组件以及业务组件中的 `Input` 、 `Checkbox` 、 `Select` 、 `Range` 、 `DatePicker` 、 `TimePicker` 、 `NumberPicker` 、 `Switch` 、 `Upload` 等以及用户自定义的组件，它能够响应 `onChange` 等用来获取用户输入\n\n### 参数（Props）\n\n| 方法名         | 说明                                                                     | 类型                                                     | 默认值 |\n| :------------- | :----------------------------------------------------------------------- | :------------------------------------------------------- | :----- |\n| validateFields | 校验并获取一组输入域的值与 Error，若 fieldNames 参数为空，则校验全部组件 | ([fieldNames: string[]],callback(errors,values)) => void |        |\n\n### FormBinderWrapper\n\n整个表单的容器，支持传入 value 和 onChange 等属性，其中 value 会作为整个表单数据根节点，交由下层组件去获取、更新操作\n\n经过 FormBinderWrapper 包装的组件，数据传递和同步将被接管，这意味着：\n\n1. 你不需要使用表单元素的 `onChange` 来做同步，但还是可以继续监听 `onChange` 等事件\n2. 你不能使用组件的表单元素的 `value`、 `defaultValue` 等属性来设置表单元素的值，但可以通过初始的 value 进行设置\n3. 你不需要通过 setState 来动态更新表单的值，因为表单默认支持双向数据通信，但可以通过 setFieldValue 和 getFieldValue 来设置或者更新表单域的值\n\n### 参数（Props）\n\n| 属性参数                  | 说明                                                                  | 类型            | 默认值   |\n| :------------------------ | :-------------------------------------------------------------------- | :-------------- | :------- |\n| value                     | 表单值                                                                | object          | {}       |\n| onChange                  | 任一表单域的值发生改变时的回调                                        | function(value) | () => {} |\n| enableScrollErrorField    | 全局校验时，是否开启滚动到报错表单位置                                | boolean         | false    |\n| scrollErrorFieldTopOffset | 全局校验滚动到报错位置时，距离顶部的偏移值（适用于头部 fixed 的场景） | number          | 0        |\n\n### FormBinder\n\n表单组件粘合剂，将其作为 FormBinderWrapper 的子组件，即可实现双向绑定特性，之后表单域的改变会通过 FormBinder 转发从而响应到 FormBinderWrapper 的 onChange 方法进行通信\n\nFormBinder 支持的属性包含以下两部分：\n\n- 自定义规则\n- 检验规则\n\n**自定义规则**\n\n### 参数（Props）\n\n| 属性参数      | 说明                   | 类型                        | 默认值     |\n| :------------ | :--------------------- | :-------------------------- | :--------- |\n| rules         | 校验规则，参考下方文档 | object[]                    |            |\n| name​         | 表单域名称             | string                      |            |\n| setFieldValue | 设置一个输入控件的值   | Function(fieldName: string) |            |\n| getFieldValue | 获取一个输入控件的值   | Function(fieldName: string) |            |\n| triggerType   | 指定合适的触发事件     | string                      | 'onChange' |\n\n**校验规则**\n\n### 参数（Props）\n\n| 参数       | 说明                         | 类型                                    | 默认值   |\n| :--------- | :--------------------------- | :-------------------------------------- | :------- |\n| enum       | 枚举类型                     | string                                  |          |\n| len        | 字段长度                     | number                                  |          |\n| max        | 最大长度                     | number                                  |          |\n| message    | 校验文案                     | string                                  |          |\n| min        | 最小长度                     | number                                  |          |\n| pattern    | 正则表达式校验               | RegExp                                  |          |\n| required   | 是否必选                     | boolean                                 | `false`  |\n| transform  | 校验前转换字段值             | function(value) => transformedValue:any |          |\n| type       | 内建校验类型                 | string                                  | 'string' |\n| validator  | 自定义校验                   | function(rule, value, callback)         |          |\n| whitespace | 必选时，空格是否会被视为错误 | boolean                                 | `false`  |\n\n> 内建校验类型，[可选项](https://github.com/yiminghe/async-validator#type)\n> 自定义校验（注意，[callback 必须被调用](https://github.com/yiminghe/async-validator#validate)）\n\n**推荐：**\n\n1. 建议统一使用 async-validator 的校验规则，尽量不要使用表单元素的相关检验属性，这样做有利于代码的可维护性和优雅。\n2. 内建校验类型，[可选项](https://github.com/yiminghe/async-validator#type)。\n3. 更多高级用法可参考 [async-validator](https://github.com/yiminghe/async-validator)。\n\n### FormError\n\n自定义表单的报错信息，自定义报错信息时需要指定 name，以此来获取当前报错的表单域来源\n\n### 参数（Props）\n\n| 参数      | 说明                           | 类型                       | 默认值 |\n| :-------- | :----------------------------- | :------------------------- | :----- |\n| name​     | 表单域名称                     | string                     |        |\n| style     | 自定义样式对象                 | object                     |        |\n| className | 自定义样式类名                 | string                     |        |\n| render    | 自定义渲染报错的组件和处理逻辑 | Function(errors):ReactNode |        |\n\n## 双向绑定协议\n\n双向绑定协议指的是组件接收 `value` 和 `onChange` 两个参数，其用户输入值由 value 提供，当用户操作组件导致数据变更，组件会调用 `onChange` 并把新的 `value` 作为第一个参数传出。React 社区的大多数组件都遵守这个设计，如 `@alifd/next` 的 `Input`, `Select`, `Checkbox` 等，如果你希望你的表单类组件能够接入 FormBinder ，请务必遵守这个协议。\n","readmeFilename":"README.md","_id":"@icedesign/form-binder@1.0.7-0","_nodeVersion":"10.16.0","_npmVersion":"6.11.2","dist":{"integrity":"sha512-AgnjR3OhHvtU+/ig7zn1qbeZcXj3QmPEdFR696atseHpgly7MfbQ/OPwGiFaHt85G2pnN2XWvdN0liUpLfp5HQ==","shasum":"d381e0cbd18123102b422f431271415380fa127c","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.7-0.tgz","fileCount":23,"unpackedSize":1102896,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJduDD+CRA9TVsSAnZWagAAW8AP/3eRTAZXKBzlBpIs+QJ3\nkO+AS6/3DZ1EznHJMfIRc7DL1UH5Nr6UB66qbAjj/MWhsnLEYEzjlZI1OV4x\nr077C5F7tLAXpY5alWuwdmgiRN90RslJlkv3KFRP/m7GsrnjSYOqr+/7VrgP\nfbmA0TG3aXSAdqwPa7EHjIWbS7o5LSAFxEsxIRT/NmYyz09Qpr+s3tF4H7yZ\noA5/CnPQkJhfATNL4gK18MGt9VqueTntBntnfIWhVjNoclIKeQfEwrasFiqN\n7XzrHlubtzY8PVY03VwZghqeDMqzlSpYrF66tNTgjTkDRx+ZVsfkJlabYEoN\nzAv8IqZIkgeg6xswfjaQVKg2MTJM7gfm2bJqZxd316QFXancYHL2u3mxF5Fg\nBCJatPtPcxJz7n+ysSNqM0t58WgPbPiYCfDgVJkDSqDL3mcxeaDAWi9z/XId\nZ8IOvQixAM5pVeWlZf0HFslUphB2HSO5/ATgHqGC0IbKFObcQwM9GlNcxoi7\nt2DIjBytU9sOEzKTOWs99y5NnFZNFbvh+fVA0tvgR7R8aE2HTXJiWfh7HB2X\ndt8tL3B2956khUyxkpTzsIuVfMqQ9hcQCvyhEnbAuYgV+a0jS9o9r6MkptGn\nsRf5riJpgyCVHOdL/WFiPr6j4hiTzFOdA92pbOECzF2qpVEkod+qFuQgizcv\ni0a7\r\n=506R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCt1Vw5hIoJjhe0iX7rhfj/umE4gPkQJMZKbnz3bN8WmAIgZnPL9TPP/0AawE47tgy5g6XhfNi/xM9uZAbTY92vDtg="}]},"maintainers":[{"email":"alvinxwt@gmail.com","name":"alvinhui"},{"email":"bindoon@sina.com","name":"bindoon"},{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"xiawenwu41@163.com","name":"clarkxia"},{"email":"wddpwzz36@gmail.com","name":"lip966"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"yundong.me@gmail.com","name":"yundong"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"_npmUser":{"name":"sobear","email":"sobear.me@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.7-0_1572352254056_0.7999003871454005"},"_hasShrinkwrap":false},"1.0.7":{"name":"@icedesign/form-binder","version":"1.0.7","description":"ICE 表单数据获取方案","main":"lib/index.js","types":"index.d.ts","scripts":{"start":"../../node_modules/.bin/ice-scripts dev --config ../../ice.component.config.js","build":"../../node_modules/.bin/ice-scripts build --config ../../ice.component.config.js","prepublishOnly":"npm run build"},"author":{"name":"ice-team"},"repository":{"type":"git","url":"https://github.com/ice-lab/react-materials/tree/master/components/form-binder"},"license":"MIT","keywords":["ice","ice-component"],"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.5.0","react-dom":"^16.5.0"},"dependencies":{"async-validator":"^1.8.1","prop-types":"^15.5.8"},"devDependencies":{"@alifd/next":"^1.11.8","@icedesign/base":"^0.2.0","@types/react":"^16.9.9","moment":"^2.23.0","react":"^16.5.0","react-dom":"^16.5.0"},"componentConfig":{"name":"form-binder","title":"ICE 表单数据获取方案"},"homepage":"https://unpkg.com/@icedesign/form-binder@1.0.7/build/index.html","_id":"@icedesign/form-binder@1.0.7","_nodeVersion":"10.16.0","_npmVersion":"6.11.2","dist":{"integrity":"sha512-5LVHjSj75zk6GTSJyFtgSsZpMkwVOGMS8WsubUyhScl2ihyGmWQCZLjfkLW4sIz+z+gcTlIQlczhTP5AlTrufg==","shasum":"dc51ba15a7dc1ce0bb5e1c219d029399eb8bd1b2","tarball":"https://registry.npmjs.org/@icedesign/form-binder/-/form-binder-1.0.7.tgz","fileCount":23,"unpackedSize":1104932,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdw/IaCRA9TVsSAnZWagAATJQP/1IgeCwoCypN21gzOioV\n1sf49PUvpt42YgznDAc6C2CqPfS18aX3X6OefrxGLh+pvW+VL33GfUVMtOSq\nZQ/7jBTmM/BNFttXsoyOcrx0YjHCc19F6JJGvpALuDL4GOWsLaF3Lpdftc0k\nLrzQuDdX2SOAJ8Q4IOqxAdeQLwMDSJFdzR0e6TMfgWfgDi7DXKDDOJ2x6sgX\ndqjiaeslnEIvMVXt8ShbdHdBTP7K+SrKH6lnvPgIkOErnVZzSPWiOsyWIN3d\narXqK5sLJIrlT0UOxRRl2csON31l7+TSs2EoHkWtjrSpfujSL6RTnEj0ZX20\n39+tOp/w5Jg2g5M8FIGmQrlgkRn1EScqCID68YxQwMRh3ra6O1hoyzzOHBZS\n2UZ+p40ZqSad5CLba3SQam5H20F9MvEyfBFWQX6kr6k/RM1tY0xrExd83gxu\n8MwmujwddSyb/EqlgWHKFBo04KiFGIDE8iXDr+BPpoFhQHBI2kkzAnQyArNC\n5w+uNQTxtB4EgLP3+xNvI1yRF5BNeE2YPCWArBrm/rGSshRZZkyaExIgX95X\nQMFeZaVFM2WWFoLpRCeG4o3bhmasm+UB0ljo2pPsYwzWPSg2NvlHxGTW8W2j\nVVb2JpWRVdrsx/Nsq0Wkbiv+lI5ACl1jSf/wFMMH19XI0sZ81H/z8f9kcF+z\nqG0e\r\n=KZWa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIELd9iAC68PxfPsleYQRT5cnfnlb3p2icd5hWwB0P0tiAiAmHcpb0Xk7U/eqSRFsbCmz5BRMRw2MlIPhq1PB5Af+IA=="}]},"maintainers":[{"email":"alvinxwt@gmail.com","name":"alvinhui"},{"email":"bindoon@sina.com","name":"bindoon"},{"email":"chenbinad@gmail.com","name":"chenbin93"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"xiawenwu41@163.com","name":"clarkxia"},{"email":"wddpwzz36@gmail.com","name":"lip966"},{"email":"noyobo@gmail.com","name":"noyobo"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"yundong.me@gmail.com","name":"yundong"},{"email":"wssgcg1213@qq.com","name":"zeroling"}],"_npmUser":{"name":"sobear","email":"sobear.me@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/form-binder_1.0.7_1573122585648_0.8776164226656737"},"_hasShrinkwrap":false}},"readme":"---\ntitle: FormBinder\ncategory: Components\nchinese: ICE 表单粘合剂\n---\n\nICE 表单数据获取方案。\n\n**说明：**\n1. 如果使用的是 FormBinder 0.x 的版本，请移步到 [0.x 参考文档](https://github.com/alibaba/ice/wiki/IceFormBinder-0.x)。\n2. 如果使用的是 FormBinder 1.x 的版本，需要确保依赖的 react 版本在 [16.2.0](https://github.com/facebook/react/releases/tag/v16.2.0) 以上，1.x 版本使用了 React.Fragments API，支持 FormBinderWrapper 组件返回多个节点。\n\n## 安装和升级\n\n```bash\nnpm install @icedesign/form-binder\n```\n\n## 表单功能\n\n- 表单双向绑定\n- 表单值统一处理\n- 布局自由组合\n- 对数据的有效性进行验证\n\n## 表单元素\n\n表单元素指的是 ICE 基础组件以及业务组件中的 `Input` 、 `Checkbox` 、 `Select` 、 `Range` 、 `DatePicker` 、 `TimePicker` 、 `NumberPicker` 、 `Switch` 、 `Upload` 等以及用户自定义的组件，它能够响应 `onChange` 等用来获取用户输入\n\n### 参数（Props）\n\n| 方法名         | 说明                                                                     | 类型                                                     | 默认值 |\n| :------------- | :----------------------------------------------------------------------- | :------------------------------------------------------- | :----- |\n| validateFields | 校验并获取一组输入域的值与 Error，若 fieldNames 参数为空，则校验全部组件 | ([fieldNames: string[]],callback(errors,values)) => void |        |\n\n### FormBinderWrapper\n\n整个表单的容器，支持传入 value 和 onChange 等属性，其中 value 会作为整个表单数据根节点，交由下层组件去获取、更新操作\n\n经过 FormBinderWrapper 包装的组件，数据传递和同步将被接管，这意味着：\n\n1. 你不需要使用表单元素的 `onChange` 来做同步，但还是可以继续监听 `onChange` 等事件\n2. 你不能使用组件的表单元素的 `value`、 `defaultValue` 等属性来设置表单元素的值，但可以通过初始的 value 进行设置\n3. 你不需要通过 setState 来动态更新表单的值，因为表单默认支持双向数据通信，但可以通过 setFieldValue 和 getFieldValue 来设置或者更新表单域的值\n\n### 参数（Props）\n\n| 属性参数                  | 说明                                                                  | 类型            | 默认值   |\n| :------------------------ | :-------------------------------------------------------------------- | :-------------- | :------- |\n| value                     | 表单值                                                                | object          | {}       |\n| onChange                  | 任一表单域的值发生改变时的回调                                        | function(value) | () => {} |\n| enableScrollErrorField    | 全局校验时，是否开启滚动到报错表单位置                                | boolean         | false    |\n| scrollErrorFieldTopOffset | 全局校验滚动到报错位置时，距离顶部的偏移值（适用于头部 fixed 的场景） | number          | 0        |\n\n### FormBinder\n\n表单组件粘合剂，将其作为 FormBinderWrapper 的子组件，即可实现双向绑定特性，之后表单域的改变会通过 FormBinder 转发从而响应到 FormBinderWrapper 的 onChange 方法进行通信\n\nFormBinder 支持的属性包含以下两部分：\n\n- 自定义规则\n- 检验规则\n\n**自定义规则**\n\n### 参数（Props）\n\n| 属性参数      | 说明                   | 类型                        | 默认值     |\n| :------------ | :--------------------- | :-------------------------- | :--------- |\n| rules         | 校验规则，参考下方文档 | object[]                    |            |\n| name​         | 表单域名称             | string                      |            |\n| setFieldValue | 设置一个输入控件的值   | Function(fieldName: string) |            |\n| getFieldValue | 获取一个输入控件的值   | Function(fieldName: string) |            |\n| triggerType   | 指定合适的触发事件     | string                      | 'onChange' |\n\n**校验规则**\n\n### 参数（Props）\n\n| 参数       | 说明                         | 类型                                    | 默认值   |\n| :--------- | :--------------------------- | :-------------------------------------- | :------- |\n| enum       | 枚举类型                     | string                                  |          |\n| len        | 字段长度                     | number                                  |          |\n| max        | 最大长度                     | number                                  |          |\n| message    | 校验文案                     | string                                  |          |\n| min        | 最小长度                     | number                                  |          |\n| pattern    | 正则表达式校验               | RegExp                                  |          |\n| required   | 是否必选                     | boolean                                 | `false`  |\n| transform  | 校验前转换字段值             | function(value) => transformedValue:any |          |\n| type       | 内建校验类型                 | string                                  | 'string' |\n| validator  | 自定义校验                   | function(rule, value, callback)         |          |\n| whitespace | 必选时，空格是否会被视为错误 | boolean                                 | `false`  |\n\n> 内建校验类型，[可选项](https://github.com/yiminghe/async-validator#type)\n> 自定义校验（注意，[callback 必须被调用](https://github.com/yiminghe/async-validator#validate)）\n\n**推荐：**\n\n1. 建议统一使用 async-validator 的校验规则，尽量不要使用表单元素的相关检验属性，这样做有利于代码的可维护性和优雅。\n2. 内建校验类型，[可选项](https://github.com/yiminghe/async-validator#type)。\n3. 更多高级用法可参考 [async-validator](https://github.com/yiminghe/async-validator)。\n\n### FormError\n\n自定义表单的报错信息，自定义报错信息时需要指定 name，以此来获取当前报错的表单域来源\n\n### 参数（Props）\n\n| 参数      | 说明                           | 类型                       | 默认值 |\n| :-------- | :----------------------------- | :------------------------- | :----- |\n| name​     | 表单域名称                     | string                     |        |\n| style     | 自定义样式对象                 | object                     |        |\n| className | 自定义样式类名                 | string                     |        |\n| render    | 自定义渲染报错的组件和处理逻辑 | Function(errors):ReactNode |        |\n\n## 双向绑定协议\n\n双向绑定协议指的是组件接收 `value` 和 `onChange` 两个参数，其用户输入值由 value 提供，当用户操作组件导致数据变更，组件会调用 `onChange` 并把新的 `value` 作为第一个参数传出。React 社区的大多数组件都遵守这个设计，如 `@alifd/next` 的 `Input`, `Select`, `Checkbox` 等，如果你希望你的表单类组件能够接入 FormBinder ，请务必遵守这个协议。\n","maintainers":[{"email":"rax-public@alibaba-inc.com","name":"rax-publisher"},{"email":"luhengchang228@126.com","name":"luhengchang228"},{"email":"chenjun1011@gmail.com","name":"chenjun1011"},{"email":"yuanyan.cao@gmail.com","name":"yuanyan"},{"email":"wssgcg1213@qq.com","name":"zeroling"},{"email":"temper357@gmail.com","name":"temper357"},{"email":"sobear.me@gmail.com","name":"sobear"},{"email":"bindoon@sina.com","name":"bindoon"},{"email":"xiawenwu41@gmail.com","name":"clarkxia"},{"email":"alvin.hui@qq.com","name":"alvinhui"},{"email":"njuzhaoguoyan@foxmail.com","name":"aboutblank"}],"time":{"modified":"2022-04-05T19:07:48.284Z","created":"2017-12-26T06:55:16.770Z","0.1.0":"2017-12-26T06:55:16.770Z","0.1.1":"2017-12-26T11:44:18.265Z","0.1.2":"2018-01-02T07:33:57.366Z","0.1.3-0":"2018-01-30T14:37:16.487Z","0.1.3":"2018-02-07T04:27:01.941Z","0.1.4":"2018-02-08T10:21:12.629Z","0.1.5":"2018-07-06T02:23:15.985Z","0.1.6":"2018-07-24T05:27:25.542Z","0.1.7":"2018-08-02T05:28:07.443Z","0.1.8-beta.0":"2018-08-23T14:38:41.009Z","0.1.8-beta.1":"2018-08-30T02:20:37.565Z","0.1.8":"2018-08-30T06:11:54.314Z","0.1.9":"2018-08-30T08:06:48.856Z","0.1.10":"2018-09-07T02:58:42.595Z","0.1.11":"2018-09-07T04:25:35.750Z","0.1.12":"2018-09-12T08:39:42.272Z","0.1.13":"2018-09-13T12:39:45.685Z","0.1.14":"2018-09-17T03:24:13.491Z","0.1.15":"2018-09-19T11:43:03.496Z","0.1.16":"2018-09-20T13:02:50.990Z","1.0.0-beta.0":"2018-11-01T06:12:34.752Z","1.0.0-beta.1":"2018-11-01T06:36:35.421Z","1.0.0":"2018-11-06T02:56:20.389Z","1.0.1":"2018-11-28T09:39:37.718Z","1.0.2":"2018-12-06T09:33:40.734Z","1.0.3":"2018-12-18T06:19:49.042Z","1.0.4":"2019-02-20T04:10:35.277Z","1.0.5":"2019-03-04T05:24:39.036Z","1.0.6":"2019-03-04T08:49:38.776Z","1.0.7-0":"2019-10-29T12:30:54.245Z","1.0.7":"2019-11-07T10:29:45.794Z"},"keywords":["ice","ice-component"],"repository":{"type":"git","url":"https://github.com/ice-lab/react-materials/tree/master/components/form-binder"},"author":{"name":"ice-team"},"license":"MIT","readmeFilename":"README.md","homepage":"https://unpkg.com/@icedesign/form-binder@1.0.7/build/index.html"}