// @ts-nocheck 'use client'; import { useState } from 'react'; import { Input } from '@/components/ui/input'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { Plus, X } from 'lucide-react'; import { Land } from '@/app/(app)/land-information/archive/manage/page'; import { toast } from 'sonner'; interface LandAttributesProps { formData: Partial; onChange: (data: Partial) => void; } export function LandAttributes({ formData, onChange }: LandAttributesProps) { const [tagInput, setTagInput] = useState(''); const handleFieldChange = (field: keyof Land, value: any) => { onChange({ ...formData, [field]: value }); }; // 添加标签 const handleAddTag = () => { if (tagInput.trim() && !formData.tags?.includes(tagInput.trim())) { handleFieldChange('tags', [...(formData.tags || []), tagInput.trim()]); setTagInput(''); toast.success('标签已添加'); } }; // 删除标签 const handleRemoveTag = (tag: string) => { handleFieldChange('tags', formData.tags?.filter(t => t !== tag) || []); }; // Enter键添加标签 const handleTagKeyPress = (e: React.KeyboardEvent) => { if (e.key === 'Enter') { e.preventDefault(); handleAddTag(); } }; return (
setTagInput(e.target.value)} placeholder="输入标签" onKeyPress={handleTagKeyPress} className="flex-1" />
{formData.tags?.map((tag) => ( {tag} handleRemoveTag(tag)} /> ))} {(!formData.tags || formData.tags.length === 0) && ( 暂无标签,点击上方添加 )}
); }