player-react
双击

双击事件

通过配置 onDoubleClick 参数,你可以监听元素的双击事件并执行相应的回调函数。

使用示例

下面是一个展示如何使用 iCraft Player 组件处理元素双击事件的示例。

DoubleClicked:
import React, { useState } from "react";
import { MouseEventParams, ICraftPlayer } from "@icraft/player-react";
 
export default () => {
  const [doubleClicked, setDoubleClicked] = useState<string>();
 
  const onDoubleClick = (e: MouseEventParams) => {
    console.log(e);
    const { instance: element, data } = e;
    setDoubleClicked(data?.name || "");
  };
 
  return (
    <div style={style}>
      <ICraftPlayer
        src='/templates/AWSCloud.iplayer'
        onDoubleClick={onDoubleClick}
      />
      <div style={textStyle}>已双击: {doubleClicked}</div>
    </div>
  );
};
 
const style = {
  width: "100%",
  height: "100%",
  position: "relative" as const,
  overflow: "hidden" as const,
};
 
const textStyle = {
  position: "absolute" as const,
  bottom: 10,
  right: 10,
};
 

API

属性描述类型默认值是否必填
onDoubleClick双击事件回调(params: MouseEventParams) => voidundefined

MouseEventParams

interface MouseEventParams {
  instance: Element3D | null;  // 被点击的3D元素实例
  event: MouseEvent;          // 原生鼠标事件对象
  data: OptionsType | null;   // 元素相关的数据
}