Commit 6db133d0 authored by zhangwenshuai's avatar zhangwenshuai

修改tag样式变化逻辑

parent ff47a1cb
......@@ -2,7 +2,6 @@ import React, { useState, useRef, useEffect } from 'react';
import { Popover } from 'antd';
import classNames from 'classnames';
import s from './index.less';
import IconFont from '@/submodule/components/IconFont';
export const Tags = (props: any) => {
const { value, origin, componentAttr } = props;
......@@ -14,13 +13,15 @@ export const Tags = (props: any) => {
useEffect(() => {
const outerTarget: any = outer.current;
const innerTarget: any = inner.current;
let visible = false;
if (outerTarget && innerTarget && origin !== 'detailForm') {
if (innerTarget.clientWidth > outerTarget.clientWidth) {
setDotVisible(true);
visible = true;
} else {
setDotVisible(false);
visible = false;
}
}
setDotVisible(visible);
}, [value]);
const outStyle: any = {};
......@@ -32,20 +33,19 @@ export const Tags = (props: any) => {
itemStyle.marginBottom = '5px';
}
return (
<div className={s.container}>
{dotVisible && mode === 'multiple' && (
<Popover
placement="left"
overlayClassName={s.popContainer}
content={
<div
className={s.popContent}
>
<div className={s.popContent}>
{value.map((item, index) => {
let color = '';
if (options && Array.isArray(options) && options.length > 0) {
const obj = options.find((ls) => ls.id === item.value) || {};
const obj = options.find((ls) => {
return String(ls.id) === String(item.value);
}) || {};
color = obj.color || 'e9eef9';
}
return (
......@@ -62,7 +62,9 @@ export const Tags = (props: any) => {
{value.map((item, index) => {
let color = '';
if (options && Array.isArray(options) && options.length > 0) {
const obj = options.find((ls) => ls.id === item.value) || {};
const obj = options.find((ls) => {
return String(ls.id) === String(item.value);
}) || {};
color = obj.color || 'e9eef9';
}
return (
......@@ -85,7 +87,9 @@ export const Tags = (props: any) => {
{value.map((item, index) => {
let color = '';
if (options && Array.isArray(options) && options.length > 0) {
const obj = options.find((ls) => ls.id === item.value) || {};
const obj = options.find((ls) => {
return String(ls.id) === String(item.value);
}) || {};
color = obj.color || 'e9eef9';
}
return (
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment