You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Flutter中创建带圆角的多角(超过四角)Container组件

实现目标组件的代码示例

根据你提供的目标组件样式,我用HTML、CSS和JavaScript实现了一个匹配的版本,包含标签、输入框、下拉选项、添加按钮和删除按钮:

HTML 结构

<div class="component-container">
  <div class="input-group">
    <span class="label">标签</span>
    <input type="text" class="input-field" placeholder="输入内容">
    <select class="select-dropdown">
      <option value="option1">选项1</option>
      <option value="option2">选项2</option>
      <option value="option3">选项3</option>
    </select>
    <button class="btn add-btn">+</button>
    <button class="btn remove-btn">-</button>
  </div>
</div>

CSS 样式

.component-container {
  padding: 1rem;
  font-family: Arial, sans-serif;
}

.input-group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: fit-content;
}

.label {
  font-weight: 500;
  color: #333;
}

.input-field {
  padding: 0.4rem 0.6rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  width: 120px;
}

.select-dropdown {
  padding: 0.4rem 0.6rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  background-color: white;
}

.btn {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.add-btn {
  background-color: #4CAF50;
  color: white;
}

.remove-btn {
  background-color: #f44336;
  color: white;
}

.btn:hover {
  opacity: 0.9;
}

JavaScript 逻辑(实现添加/移除输入组功能)

const addBtn = document.querySelector('.add-btn');
const container = document.querySelector('.component-container');

addBtn.addEventListener('click', () => {
  const newGroup = document.querySelector('.input-group').cloneNode(true);
  newGroup.querySelector('.input-field').value = '';
  container.appendChild(newGroup);
  
  // 给新的删除按钮绑定移除事件
  newGroup.querySelector('.remove-btn').addEventListener('click', function() {
    if (container.querySelectorAll('.input-group').length > 1) {
      this.parentElement.remove();
    }
  });
});

// 初始删除按钮事件绑定
document.querySelector('.remove-btn').addEventListener('click', function() {
  if (container.querySelectorAll('.input-group').length > 1) {
    this.parentElement.remove();
  }
});

你可以根据实际需求调整样式细节、输入框宽度、选项内容等。

内容的提问来源于stack exchange,提问作者Ron Bis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:57:12