美文网首页
Element ColorPicker 颜色选择器绑定值valu

Element ColorPicker 颜色选择器绑定值valu

作者: 嘀灬学生卡 | 来源:发表于2020-12-01 20:27 被阅读0次

场景:根据后端返回数据列表,动态生成多个颜色选择器,并在用户设置后,返回颜色选择器设置的值。

1.最初思路

1)请求数据获得列表;
2)v-for循环绑定颜色选择器的value值;
3)绑定change事件,获取用户设置的颜色值。

<ul>
  <li v-for="(color, index) in colorList">
    <el-color-picker :value="color" @change="changeHandle($event, index)"></el-color-picker>
  </li>
</ul>
<script>
  export default{
    data(){
      return{
        colorList: ['#111','#222','#333']
      }
    },
    method:{
      changeHandle(color, index){
        this.colorList[index] = color;
      }
    }
  }
</script>

虽然获取到了用户改变的颜色列表,存在一个问题,颜色选择器改变值后,在屏幕上点击鼠标,颜色选择器显示的颜色变成初始颜色,具体原因不明

2.使用v-model

1)请求数据获得列表;
2)生成一个对象,该对象的属性用于颜色选择器的双向绑定变量;
3)绑定change事件,获取用户设置的颜色值。

<ul>
  <li v-for="(color, index) in colorList">
    <el-color-picker v-model="colorObj['val'+index]" @change="changeHandle($event, index)">
    </el-color-picker>
  </li>
</ul>
<script>
  export default{
    data(){
      return{
        colorList: ['#111','#222','#333'],
        colorObj: {}
      }
    },
    method:{
      changeHandle(color, index){
        this.colorList[index] = color;
      }
    },
    mounted(){
      this.colorList.foreach((color,index)=> {
        this.$set(this.colorObj, 'val'+index, color);
      });
    }
  }
</script>

颜色选择器使用v-model,未出现设置完颜色后点击空白处出现颜色取消问题。有没有人遇到同样问题,可以解释一下。

相关文章

网友评论

      本文标题:Element ColorPicker 颜色选择器绑定值valu

      本文链接:https://www.haomeiwen.com/subject/tzoswktx.html