tauri api clipboard 使用

697 阅读1分钟

tauri api clipboard 使用

对应的代码仓库:github.com/leaf0412/ta…

clipboard 函数

Tauri API中的 clipboard 模块提供了读取并写入系统剪贴板。主要有以下几个函数:

  • readText --> 以纯文本形式获取剪贴板内容
  • writeText --> 将纯文本写入剪贴板

函数使用方式

注意事项

使用 app API 中的 hide 和 show 函数, 必须要将权限添加到 tauri.conf.json 中的tauri.allowlist.clipboard 中

{  
    "tauri": {  
        "allowlist": {  
            "clipboard": {
                "all": true,
                "writeText": true,
                "readText": true
          }
        }  
    }  
}

readText 以纯文本形式获取剪贴板内容

使用方式:创建 readText.jsx 文件

import { readText } from '@tauri-apps/api/clipboard';
import { useState } from 'react';

export default function ReadText() {
  const [text, setText] = useState('');
  const handleReadText = async () => {
    const text = await readText();
    setText(text);
  };

  return (
    <div>
      <button onClick={handleReadText}>读取剪切板文本</button>
      <p>剪切板文本:{text}</p>
    </div>
  );
}


writeText 将纯文本写入剪贴板

使用方式:创建 writeText.jsx 文件

import { writeText } from '@tauri-apps/api/clipboard';
import { useState, useCallback } from 'react';

export default function WriteText() {
  const [text, setText] = useState('');
  const handleWriteText = useCallback(async () => {
    await writeText(text);
  }, [text]);

  const handleChange = e => {
    setText(e.target.value);
  };

  return (
    <div>
      <input
        type='text'
        value={text}
        onChange={handleChange}
        placeholder='请输入文本'
      />
      <button onClick={handleWriteText}>写入剪切板文本</button>
    </div>
  );
}