0.0.8 • Published 6 months ago

ant-rare-words-input-react v0.0.8

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

ant-rare-words-input-react

NPM version NPM downloads

生僻字输入组件 React 版

参数

参数类型说明
visibleboolean是否可见
typestring键盘类型, pinyin(拼音)、stroke(笔画)、handwriting(手写),目前只支持 pinyin
stopPropagationstring[]阻止某些事件的冒泡,默认阻止 click 事件
destroyOnCloseboolean组件不可见时卸载内容
forceRenderboolean无论组件是隐藏或者显示,都会强制性的将组件渲染到 DOM 中
showMaskboolean是否展示蒙层,默认展示
onClose() => void关闭的时候触发的回调
onFinish(value: string, word: object) => void输入完成的时候触发的回调
onShow() => void打开的时候触发的回调
onError(err) => void组件调用失败的时候的回调
onReady(fontUrl, fontFace) => void组件准备好的时候的回调

用法

npm 包方式引用

  1. 安装工具包
npm install ant-rare-words-input-react --save
  1. 在页面初始化的逻辑里执行字体加载代码
import RareWordsInput from 'ant-rare-words-input-react';

const Page = () => {
  const [value, setValue] = React.useState<string>('');
  const [visible, setVisible] = React.useState<boolean>(false);

  /**
   * 打开生僻字输入组件
   */
  const handleOpen = () => {
    setVisible(true);
  };

  /**
   * 监听输入事件
   */
  const handleChange = (e) => {
    const value = e.target.value;
    setValue(value);
  };

  return (
    <div className="container">
      <input
        className="input"
        type="text"
        value={value}
        onChange={handleChange}
      />
      <span className="tips" onClick={handleOpen}>
        录入生僻字
      </span>

      <RareWordsInput
        visible={visible}
        type="pinyin"
        onFinish={(curValue) => {
          setValue((value) => value + curValue);
        }}
      />
    </div>
  );
};

CDN 方式引用

在一些没有使用 webpack 此类打包工具的业务中,无法做到使用 npm 包,可以在 html 内通过引入 cdn script 链接的方式加载生僻字键盘组件

!!!这里注意的是此键盘组件基于 React 运行的,并且没有内置 React 库,如果你的系统也没有引入 React 相关的 script,请记得在此之前先引入:

<script
  src="https://cdn.bootcdn.net/ajax/libs/react/18.2.0/umd/react.production.min.js"
  crossorigin
></script>
<script
  src="https://cdn.bootcdn.net/ajax/libs/react-dom/18.2.0/umd/react-dom.production.min.js"
  crossorigin
></script>

示例代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <script src="https://cdn.bootcdn.net/ajax/libs/react/18.2.0/umd/react.production.min.js" crossorigin></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/react-dom/18.2.0/umd/react-dom.production.min.js" crossorigin></script>
    <style>
      :root {
        --px: 0.5px !important; // 组件px单位
      }
    </style>
  </head>
  <body>
    <div id="app"></div>
    <script src="https://unpkg.com/ant-rare-words-input-react/dist/ant-rare-words-input-react.min.js" crossorigin></script>
    <script>
      const domNode = document.getElementById('app');
      const root = ReactDOM.createRoot(domNode);
      const { RareWordsInput } = window;
      root.render(React.createElement(RareWordsInput, { visible: true }));
    </script>
  </body>
</html>

如果 unpkg.com 被墙了,可以替换成 npm.elemecdn.com 的国内镜像,使用地址 https://npm.elemecdn.com/ant-rare-words-input-react/dist/ant-rare-words-input-react.min.js

如果不希望跟随版本更新,可以限制引入 cdn 时的版本,使用地址 https://npm.elemecdn.com/ant-rare-words-input-react@0.0.1/dist/ant-rare-words-input-react.min.js

开发

# 安装依赖
$ npm install

# 启动demo
$ npm start

# 构建产物
$ npm run build

# 观察模式构建差五
$ npm run build:watch

# 构建演示文档
$ npm run docs:build

# 检查代码
$ npm run doctor

LICENSE

MIT

0.0.4-beta5

8 months ago

0.0.4-beta3

8 months ago

0.0.4-beta4

8 months ago

0.0.4-beta1

9 months ago

0.0.4-beta2

9 months ago

0.0.8

6 months ago

0.0.5

9 months ago

0.0.7

6 months ago

0.0.6

8 months ago

0.0.3

11 months ago

0.0.4

11 months ago

0.0.1-beta.5

1 year ago

0.0.1-beta.4

1 year ago

0.0.1

1 year ago

0.0.1-beta.3

1 year ago

0.0.1-beta.2

1 year ago

0.0.1-beta.1

1 year ago