在Vue Select中设置所选值的样式

彼得

我正在使用vue select。在下拉菜单中,有标签(不仅是文本)。是否可以为所选值添加标签?

                            <div class="form-group row">
                                <label for="project_status_id"  class="col-sm-3 col-form-label">Projekt Status</label>
                                <div class="col-sm-9">
                                    <v-select  :options="resources.activeProjectStatus" :reduce="project_status_id => project_status_id.id"  v-model="form.project_status_id" label="name" id="project_status_id" placeholder="Projekt Status" :class="$vSelectStyle($v.form.project_status_id)">
                                        <template v-slot:option="option" >
                                            <div v-html="option.status_label" class="mb-1">
                                            </div>
                                        </template>
                                    </v-select>
                                    <template v-if="$v.form.project_status_id.$error">
                                        <p class="text-danger" v-if="!$v.form.project_status_id.required">
                                            Projekt - Status ist erforderlich!
                                        </p>
                                    </template>
                                </div>
                            </div>

在此处输入图片说明

Seantunwin

假设您想要的HTML,并且status_label还假设它status_label是模板字符串或类似字符串,则使用该selected-option插槽,其内容与您选择的插槽(不带class附件)相同。

如前所述,下面示例中的关键部分是selected-option插槽:

<!-- Using OP's `option` key -->
<template v-slot:selected-option="option">
  <div v-html="option.status_label"></div>
</template>

下面的示例是Vue-Select的Codepen示例的分支,其中对答案做了修改。

Vue.config.productionTip = false;
Vue.component('v-select', VueSelect.VueSelect);
new Vue({
  el: '#app',
  data: {
    options: [
      {
        name: `<span style="padding: 4px; background: green; border-radius: 0.25rem; color: white;">Foo</span>`
      },
      {
        name: `<span style="padding: 4px; background: orange; border-radius: 0.25rem; color: white;">Bar</span>`
      },
      {
        name: `<span style="padding: 4px; background: red; border-radius: 0.25rem; color: white;">Baz</span>`
      }
    ]
  }
});
body {
  font-family: 'Source Sans Pro', 'Helvetica Neue', Arial, sans-serif;
}

h1 {
  font-size: 26px;
  font-weight: 600;
  color: #2c3e5099;
  text-rendering: optimizelegibility;
  -moz-osx-font-smoothing: grayscale;
  -moz-text-size-adjust: none;
}

#app {
  max-width: 30em;
  margin: 1em auto;
}
<script src="https://unpkg.com/vue@latest"></script>
<script src="https://unpkg.com/vue-select@latest"></script>
<link rel="stylesheet" href="https://unpkg.com/vue-select@latest/dist/vue-select.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:600">

<div id="app">
  <h1>Vue Select</h1>
  <v-select :options="options" label="label">
    <template v-slot:option="option" >
      <div v-html="option.name" style="padding: 2px 0;"></div>
    </template>
    <template v-slot:selected-option="option">
      <div v-html="option.name"></div>
    </template>
  </v-select>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Vue JS中设置动态样式属性

来自分类Dev

如何使用 vue.js 在 select 中设置默认选择值?

来自分类Dev

如何使用vue动态更改所选值?

来自分类Dev

无法在Bootstrap的select2插件中设置所选值

来自分类Dev

在TreeView中设置所选TreeItem的样式

来自分类Dev

如何在vue-select中设置阻止事件”

来自分类Dev

在Vue.js中为select元素设置'selected'选项

来自分类Dev

md-select无法设置所选值

来自分类Dev

如何在引导Vue下拉菜单中像圆形一样设置按钮样式

来自分类Dev

Vue过渡的动态样式

来自分类Dev

下拉列表中的所选值无效:无法设置所选值

来自分类Dev

使用Vue Firestore设置布尔值

来自分类Dev

Vue选择设置默认值

来自分类Dev

如何设置Vue Core UI选择值

来自分类Dev

如何设置Vue Core UI选择值

来自分类Dev

Vue-是否可以动态设置html元素的样式?

来自分类Dev

在 React 中设置所选值的选项标签

来自分类Dev

Laravel 和 Vue 设置

来自分类Dev

在QSS中设置QTreeView所选项目样式

来自分类Dev

更新 vue js 值

来自分类Dev

Vue JS 在组件中设置数据收集

来自分类Dev

Vue组件未绑定样式

来自分类Dev

Vue.js 的动态样式

来自分类Dev

从数组 Vue 动态添加样式

来自分类Dev

Vue - 在 Vue 模型中调用方法

来自分类Dev

在 Vue 组件中添加子 Vue 组件

来自分类Dev

<select> 继承所选 <option> 的样式

来自分类Dev

Bootstrap Select-通过文本设置所选值

来自分类常见问题

如何在vue-slider中设置没有最大值的范围