vue+element 下拉框与input框混合循环

HTML 用v-if控制 dropdown 是否为下拉框或input框 

key值为唯一性才不会报错

            <div
              class="contItem isSelect"
              v-for="item in musicsong"
              :key="item.songid"
            >
              <div class="label">{{ item.duration }}</div>
              <div class="content" v-if="item.dropdown">
                <el-select
                  v-model="item.id"
                  :placeholder="item.placeholderformat"
                >
                  <el-option
                    v-for="item in item.options"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </el-select>
              </div>
              <div class="content" v-else>
                <el-input
                  v-model="item.id"
                  :placeholder="item.placeholderformat"
                ></el-input>
              </div>
            </div>

js

dropdown  需定义true或false来显示

id为string   number会报错

dropdown: true,
      musicsong: [
        {
          id: "",
          duration: "时长",
          placeholderformat: "请选择",
          dropdown: true,
          options: [
            {
              value: "选项1",
              label: "1",
            },
            {
              value: "选项2",
              label: "11",
            },
            {
              value: "选项3",
              label: "111",
            },
            {
              value: "选项4",
              label: "1111",
            },
            {
              value: "选项5",
              label: "1111",
            },
          ],
        },
        {
          id: "",
          duration: "作曲",
          placeholderformat: "请填写",
          dropdown: false,
        },
        {
          id: "",
          duration: "音乐风格",
          placeholderformat: "请选择",
          dropdown: true,
          options: [
            {
              value: "选项1",
              label: "1",
            },
            {
              value: "选项2",
              label: "11",
            },
            {
              value: "选项3",
              label: "111",
            },
            {
              value: "选项4",
              label: "1111",
            },
            {
              value: "选项5",
              label: "1111",
            },
          ],
        },
        {
          id: "",
          duration: "文件格式",
          placeholderformat: "请选择",
          dropdown: true,
          options: [
            {
              value: "选项1",
              label: "1",
            },
            {
              value: "选项2",
              label: "11",
            },
            {
              value: "选项3",
              label: "111",
            },
            {
              value: "选项4",
              label: "1111",
            },
            {
              value: "选项5",
              label: "1111",
            },
          ],
        },
        {
          id: "",
          duration: "作词",
          placeholderformat: "请填写",
          dropdown: false,
        },
        {
          id: "",
          duration: "音乐情绪",
          placeholderformat: "请选择",
          dropdown: true,
          options: [
            {
              value: "选项1",
              label: "1",
            },
            {
              value: "选项2",
              label: "11",
            },
            {
              value: "选项3",
              label: "111",
            },
            {
              value: "选项4",
              label: "1111",
            },
            {
              value: "选项5",
              label: "1111",
            },
          ],
        },
        {
          id: "",
          duration: "比特率",
          placeholderformat: "请填写",
          dropdown: false,
        },
        {
          id: "",
          duration: "编曲",
          placeholderformat: "请填写",
          dropdown: false,
        },
        {
          id: "",
          duration: "音乐类型",
          placeholderformat: "请选择",
          dropdown: true,
          options: [
            {
              value: "选项1",
              label: "1",
            },
            {
              value: "选项2",
              label: "11",
            },
            {
              value: "选项3",
              label: "111",
            },
            {
              value: "选项4",
              label: "1111",
            },
            {
              value: "选项5",
              label: "1111",
            },
          ],
        },
        {
          id: "",
          duration: "BMP",
          placeholderformat: "请选择",
          dropdown: true,
          options: [
            {
              value: "选项1",
              label: "1",
            },
            {
              value: "选项2",
              label: "11",
            },
            {
              value: "选项3",
              label: "111",
            },
            {
              value: "选项4",
              label: "1111",
            },
            {
              value: "选项5",
              label: "1111",
            },
          ],
        },
        {
          id: "",
          duration: "演唱",
          placeholderformat: "请填写",
          dropdown: false,
        },
        {
          id: "",
          duration: "音乐所属",
          placeholderformat: "请选择",
          dropdown: true,
          options: [
            {
              value: "选项1",
              label: "1",
            },
            {
              value: "选项2",
              label: "11",
            },
            {
              value: "选项3",
              label: "111",
            },
            {
              value: "选项4",
              label: "1111",
            },
            {
              value: "选项5",
              label: "1111",
            },
          ],
        },
        {
          id: "",
          duration: "采样率",
          placeholderformat: "请填写",
          dropdown: false,
        },
      ],

人和代码必须得跑一个

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
非常感谢您的提问。作为一个由 CSDN 开发的C知道 AI,我可以为您提供一些关于使用 Vue Element UI 编写前端基础架的建议。 首先,您需要安装 VueElement UI。您可以通过以下命令来安装它们: ``` npm install vue npm install element-ui ``` 接下来,您可以创建一个 Vue 实例,并在其中引入 Element UI: ``` import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) new Vue({ el: '#app', render: h => h(App) }) ``` 在这个例子中,我们在 Vue 实例中引入了 Element UI,并将其注册为 Vue 的插件。我们还在 `index.html` 文件中创建了一个 `div` 元素,并将其 ID 设置为 `app`。这个 `div` 元素将会是我们的应用程序的根元素。 接下来,您可以创建一个基础架的组件。例如,您可以创建一个名为 `MyLayout` 的组件,它将包含一个头部、一个侧边栏和一个主体区域: ``` <template> <div class="my-layout"> <header>Header</header> <aside>Sidebar</aside> <main>Main content</main> </div> </template> <style> .my-layout { display: flex; flex-direction: column; height: 100%; } header { height: 60px; background-color: #409EFF; color: #fff; display: flex; align-items: center; justify-content: center; } aside { width: 200px; background-color: #f0f0f0; } main { flex: 1; padding: 20px; } </style> ``` 在这个例子中,我们使用了 Flexbox 布局来创建一个包含头部、侧边栏和主体区域的布局。我们还使用了 Element UI 的样式来设置头部的背景颜色。 最后,您可以在您的应用程序中使用这个组件。例如,您可以在 `App.vue` 文件中引入 `MyLayout` 组件,并将其作为根组件: ``` <template> <div id="app"> <my-layout></my-layout> </div> </template> <script> import MyLayout from './MyLayout.vue' export default { components: { MyLayout } } </script> ``` 在这个例子中,我们在 `App.vue` 文件中引入了 `MyLayout` 组件,并将其注册为 `App` 组件的子组件。我们还在 `index.html` 文件中创建了一个 `div` 元素,并将其 ID 设置为 `app`。这个 `div` 元素将会是我们的应用程序的根元素。 希望这些建议能够帮助您开始使用 Vue Element UI 编写前端基础架。如果您有任何其他问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AD顶住我先跑

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值