1.10.0 • Published 1 year ago

@x.render/render-view v1.10.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@x.render/render-view

英文文档

描述

经过 div 封装后的 react 组件,你可以理解 View 是一个容器组件,用于包括任何元素和组件。View 提供 appear 相关事件,你可以利用此特性,做一些特别的事情

使用

$ npm install @x.render/render-view --save
import { useRef, useEffect } from "react";
import View from "@x.render/render-view";

const App = () => {
  const viewRef = useRef(null);
  useEffect(() => {});
  return (
    <View
      ref={viewRef}
      style={{
        padding: "30rpx",
      }}
      onClick={() => {
        alert("container was clicked!");
      }}
    >
      <View
        style={{
          width: "300rpx",
          height: "300rpx",
          backgroundColor: "red",
        }}
        onClick={(e) => {
          e.stopPropagation();
          alert("red was clicked");
        }}
      />
      <View
        style={{
          width: "300rpx",
          height: "300rpx",
          backgroundColor: "green",
          position: "absolute",
          top: "20rpx",
          left: "20rpx",
        }}
        onClick={() => {
          alert("green was clicked");
        }}
      />
      <View
        style={{
          width: "300rpx",
          height: "300rpx",
          backgroundColor: "yellow",
          position: "absolute",
          top: "80rpx",
          left: "210rpx",
        }}
        onClick={(e) => {}}
      />
    </View>
  );
};
export default App;

属性

属性类型默认值必填描述
classNamestring-false自定义样式名
styleCSSProperties-false自定义样式
onClickfunction-false点击
onAppearfunction-false当前元素可见时触发
onDisappearfunction-false当前元素从可见变为不可见时触发
onFirstAppearfunction-false当前元素首次可见时触发
onTouchStartfunction-false触摸动作开始
onTouchMovefunction-false触摸后移动
onTouchEndfunction-false触摸动作结束
onTouchCancelfunction-false触摸动作被打断,如来电提醒,弹窗

Default style

The default style of render-view is as follows:

.render-view-v1 {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  align-content: flex-start;
  border: 0 solid black;
  margin: 0;
  padding: 0;
  min-width: 0;
}