Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
643 views
in Technique[技术] by (71.8m points)

Adding z-index to specific path within react-native-svg

I'm using SvgCss from react-native-svg. The problem is that onPress event is triggering from free space around the path make the other svgs unreachable. I put "backgroundColor: blue" for svgs so that you can see the trouble makers parts in below picture.

I tried solving this by adding high zIndex to target paths in below code. it's not working . Does anyone have a suggestion?

import React, { useEffect, useState } from 'react';
import Axios from 'axios';
import { Text } from 'native-base';
import { SvgCss } from 'react-native-svg';

const PaintObject = ({ svg, objData, selectedColor }) => {
  const [color, setcolor] = useState(objData.initial_color);
  const [svgfile, setsvgfile] = useState('');

  useEffect(() => {
    Axios.get(svg).then(({ data }) => {
      setsvgfile(data);
    });
  }, []);

  if (svgfile !== '') {
    return (
      <SvgCss
        width={`${objData.width}%`}
        height={`${objData.width}%`}
        style={{
          color,
          backgroundColor: 'blue',
          position: 'absolute',
          top: `${objData.y}%`,
          left: `${objData.x}%`,
          zIndex: 1,
        }}
        xml={[...svgfile].join('').replace('currentcolor"','currentcolor" style="zIndex:1000"')}
        onPress={()=> setcolor(selectedColor)}
      />
    );
  }
  return (<Text>{ }</Text>);
};

export default PaintObject;

enter image description here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...